0

以下の私のコードの何が問題になっているのでしょうか。ファイルが開かないということです。私も絶対ファイルパスで試しましたが、それは私を助けませんでした、私はファイルがそこにあることを物理的に知っています。

FILE *myfile;


    myfile= fopen("IN.txt",r);
    if (myfile != NULL)
    {
        while ( fscanf(myfile,"%lf",&test) !=eof )
        {
            printf("%f",test);
            printf("\n");
        }
    }
    fclose(myfile);
4

3 に答える 3

3

多分あなたはこのようにしたいです:

myfile= fopen("IN.txt","r");

これは、2番目の引数がconstchar*型であるためです。

そしてここ:

while ( fscanf(myfile,"%lf",&test) !=EOF )

(Cは大文字と小文字を区別します)。

編集:そして私は次のようなものを使用することを提案したいと思います:

while ( (fscanf(myfile, "%lf", &test)) > 0){...}
于 2013-03-14T07:16:12.180 に答える
1

を使用してエラーを印刷してみてください

printf( "ファイルを開くときにエラーが発生しました:%s \ n"、strerror(errno));

于 2013-03-14T07:18:55.187 に答える
0
myfile= fopen("IN.txt",r);

する必要があります

myfile = fopen("IN.txt","r");

そして、ファイルシステムがファイル名が示すように大文字と小文字を区別していることを確認してください(したがって、「IN.txt」は「in.txt」とは異なるUN * Xファイルにあります)

于 2013-03-14T07:16:25.770 に答える