C언어로 파일을 읽을 때 fsacnf로 읽을 경우, 마지막에 읽은 값이 두번 나오는 경우가 있다. 다음과 같이 코드를 짰을 경우에 그렇다.
while(!feof(fp)){
fsacnf(fp, "%s", &var_char);
}
이 경우 feof가 파일의 끝(EOF)을 만나자마자 이를 인지하지 못하기 때문에 발생하는 문제(?)라고 한다. 자세히는 모르겠으나, 해결 방법은 다음과 같이 fscanf의 return 값이 EOF인지 판단하는 것이다.
while( EOF!=fscanf(fp, "%s", &var_char))
printf("%s", var_char);
'Study > Computer' 카테고리의 다른 글
pip로 numpy, scipy, matplotlib 설치하기 (0) | 2014.08.05 |
---|---|
컴파일러 최적화 옵션 (1) | 2014.08.04 |
우분투 서버 설정 때 유용한 링크들 (0) | 2014.07.28 |
command line에서 파일 검색하기 in Linux (0) | 2014.07.22 |
Gephi에서 node에 여러 색 주기 (0) | 2014.07.09 |