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");

这是因为第二个参数是 const char* 类型

和这里:

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

(C 区分大小写)。

编辑:我想建议使用类似的东西:

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

Try printing the error using

printf ("Error opening file : %s\n",strerror(errno));

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

应该是

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

并确保您的文件系统与文件名所暗示的一样(不区分大小写)(因此“IN.txt”在 UN*X 与“in.txt”不同的文件上)

于 2013-03-14T07:16:25.770 回答