2
ファイルから行ごとに値を読み込んで出力しようとしていますが、最後の行が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;
}
''%lli "'ではなく ''%lli "'を使用して、 '' unsigned long long'値を読み込みます。 ( ''%lli ''とは違って、' '%lld''や ''%llu ''のどちらも16進数と8進数をサポートしていません;そのための良い解決策はないようです。) –
' if(file == NULL ){perror(argv [1]); return 1;} ' –