2
줄 단위로 파일의 값을 읽고 인쇄하려고합니다. 출력물은 마지막 줄을 두 번 인쇄합니다. 왜 이것이 마지막 줄이되는 것입니까? 파일 끝?C에서 파일 읽기 오류
int main(int argc, char* argv[]) {
FILE *file = fopen(argv[1], "r");
if (file == NULL){
printf("error\n");
return 1;
}
unsigned long long address;
int rv = fscanf(file, "%lli", &address);
printf("%lli\n", address);
do{
rv = fscanf(file, "%lli", &address);
printf("%lli\n", address);
} while (rv!=EOF);
fclose(file);
return 0;
}
''unsigned long long '값을 읽으려면''% lli "'가 아니라''% llu"'를 사용하십시오. ("% lli"와는 달리, "% lld"도 "% llu"도 16 진수와 8 진수를 지원하지 않으므로 좋은 해결책은 아닌 것 같습니다. –
'if (file == NULL) {perror (argv [1]); return 1;}' –