반응형
리눅스에 자주 사용하는 tail 명령어와 같은 역활을 하는 C 코드.
옵션으로 사용하는 몇 라인 긁어오라는건 for문 하나만 추가하면 구현이 가능하다.
FILE 객체에 _ptr 필드 가지고 난리를 치다가 결국 안되서 fseek을 사용해서 구현했더니 잘 된다.
현재는 One_Line 배열에 한줄만 가져가는 코드인 상태.
#define LINE_CHECK_BYTE_NUM 512
char *InquireLog()
{
FILE *fp = NULL;
char c;
long leng=1l;
char One_Line[512];
if((fp = fopen("test.txt","rb")) == NULL)
fprintf(stderr,"LOG_PATH Open Error\n");
while(leng++ < LINE_CHECK_BYTE_NUM){
fseek(fp,-(leng),SEEK_END);
c = fgetc(fp);
if(c == '\n'){
fgets(One_Line,leng,fp);
//printf("One_Line : %s\n",One_Line);
break;
}
}
return One_Line;
}
반응형
'Coding Tip > C/C++' 카테고리의 다른 글
C/C++에서 NULL 포인터를 delete 하면 어떻게 되는가? (0) | 2013.10.15 |
---|---|
[C/C++] 파일 입출력 함수들 모음 (0) | 2013.02.14 |
wait(), waitpid() 옵션 별 사용 설명 (0) | 2012.09.03 |
[C / C++] PATH로 디렉토리 생성 (1) | 2011.10.24 |
Windows와 Unix(&Linux) 계열에서 쓰레드의 생존여부 확인하기 (2) | 2011.08.14 |