0

fscanf を使用して PIZZA CHIPS BURGERS、行の 1 つとして含まれるテキスト ファイルを読み込もうとすると、. それらを変数に追加しようとしていますが、一度に1文字しかかかりません。

if (infile) {
    while (fscanf(infile, "%c", &cit) > 0) {
        printf("%c\n",cit);

PIZZA の代わりに PIZZA という単語を使用するにはどうすればよいですか?

4

1 に答える 1

0
char word[256];

if (infile)
{
    while (fscanf(infile, "%255s", word) == 1)
        printf("Word: %s\n", word);
}

一度に行全体、スペース、およびすべてを読み込みたい場合は、次を使用することに注意してくださいfgets()

char line[4096];

if (infile)
{
    while (fgets(line, sizeof(line), infile) != 0)
        printf("Line: %s", line);
}

注意:fgets()行が長すぎて切り詰める必要がない限り、改行を保持するため、printf()形式自体に改行は必要ありません。通常、またはだけを使用するよりも、fgets()およびを使用した方が入力を制御しやすくなります。特に、ユーザーが入力した内容をすべて把握しているため、通常はより適切なエラー診断を行うことができます。必要に応じて、別の形式を試すこともできます。sscanf()scanf()fscanf()

于 2013-04-08T05:58:52.670 に答える