0

これらは私のファイル '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 を出力し、ファイルの最初の文字を開くことができないからです。

4

2 に答える 2