次のように、ファイルをスキャンしてfscanf、文字列をサイズ 20 の char 配列に入れようとしています。
char buf[20];
fscanf(fp, "%s", buf);
現在、ファイルfpには以下が含まれています: 1 + 23.
次のように、最初の要素へのポインターを設定してbufいます。
char *p;
p = buf;
印刷buf、printf("%s", buf)収量のみ1。インクリメントpして印刷しようとすると、ゴミも印刷されます(p++; printf("%c", *p))。
ここで何が間違ってfscanfいますか?ファイルから文字列全体を読み取らないのはなぜですか?