1

ファイルから整数を読み取ろうとしていますが、このコードでは fscanf がうまく機能しません。

fp=fopen("record.dat","r");
if(fp==NULL)
{
    printf("Another reading error");
}
else
{
    printf("\nstarting to read\n");
    i=0;
    while(i<10)
    {
        if(fscanf(fp,"%d",&temp)>0)
        printf("%d\n",temp);
        i++;
    }
    fclose(fp);
}

このファイルには、改行文字で区切られた 10 個の数字が含まれています。このコードは、何も生成または出力しません。コードの問題は何ですか。pls はそれを手伝ってくれます。

w+またはr としてアクセスモードを編集すると、期待される正しい答えが得られません。

4

2 に答える 2

3

ファイルを読み取り可能ではなく、書き込み可能ファイルとして開いています。

"w+"に変更する必要があります"r"

w+ The file is created if it does not exist, otherwise it is truncated. The stream is positioned at the beginning of the file.

于 2013-06-12T17:16:06.787 に答える