これらは私のファイル 'unsorted.txt' の内容です:
3 ロバート・ジャスティン・トランプ
これは私のコードです:
#include <stdio.h>
int main(void) {
FILE *f = fopen("unsorted.txt", "r");
char n;
printf("%d\n", ftell(f));
fscanf(f, "%s", &n);
int l = n - '0';
printf("%d %d\n", l, ftell(f));
return 0;
}
実行すると、次の出力が得られます。
0
3 -1
-1
なぜ2番目のケースで戻ったのですか? 0
から1
右に移動する必要がありますか?
注: ファイルを開くことができます。なぜなら、最初の呼び出しで 0 を出力し、ファイルの最初の文字を開くことができないからです。