반응형
long GetLastNLine(int nLastLine) { int nLineCount = 0; char ch = '\0'; TCHAR szBuf[8192] = _T(""); int nResult = 0; long lCurPos = 0; FILE* fp = fopen("20121119_10.log", "r"); fseek(fp, -1, SEEK_END); //fseek(fp, -1, SEEK_CUR); while( 1 ) { ch = (char)fgetc(fp); if( ch == '\n' ) { nLineCount++; if( nLineCount >= nLastLine ) { break; } fseek(fp, -1, SEEK_CUR); } nResult = fseek(fp, -2, SEEK_CUR); if( nResult != 0 ) // File 의 시작 위치 까지 왔을 때에는 break; { fseek(fp, 0, SEEK_SET); break; } } while( _fgetts(szBuf, sizeof(szBuf), fp) ) { _tprintf(_T("%s\n"), szBuf); } lCurPos = ftell(fp); fclose(fp); return lCurPos; }
Text 파일을 처음부터 읽는게 아닌 마지막에서 n 줄 부터 출력하는 예제
'Programming > C/C++' 카테고리의 다른 글
INADDR_LOOPBACK (0) | 2015.05.22 |
---|---|
1byte unsigned char 를 4비트 단위로 쪼개서 사용하기 (0) | 2015.05.22 |
POSIX timer sample (0) | 2014.10.08 |
내 네트워크상의 모든 컴퓨터 이름 목록과 IP 주소 출력 (0) | 2012.12.20 |
Visual Studio 2012 Thread Library 사용 (1) | 2012.08.21 |
C++ UAC Class (0) | 2012.02.28 |
[c/c++] srand 사용시 주의사항 (0) | 2011.08.22 |
VC Express. Dll 또는 Lib 프로젝트에서 버전을 표시 하자. (1) | 2009.08.11 |