if((fp=fopen("E:\\09GPLB\GAME-TXT\temp.txt","r"))==NULL) 
这句话是什么意思?

解决方案 »

  1.   

    你的文件路径写错,路径中的\应使用转义符即:
    E:\\09GPLB\\GAME-TXT\\temp.txt
    另外逻辑上也有问题,fp为NULL执行读取?肯定有问题了。
      

  2.   

    非常感谢jingzhougrong这位前辈的提示,搞定了,我把正确的再给大家共享:
    #include <stdio.h>
    #include <conio.h>#include <stdio.h>
    #include <string.h>
    #include <stdlib.h>    FILE    *fp;
        char    line[10000];
    main(void)
    {
        if((fp=fopen("E:\\09GPLB\\GAME-TXT\\temp.txt","r"))!=NULL)
        {
         fgets(line,15,fp);
         printf("%s",line);
         getch();
            fclose(fp);
        }}
      

  3.   

    #include <stdio.h> 
    #include <conio.h> #include <stdio.h> 
    #include <string.h> 
    #include <stdlib.h>     FILE    *fp; 
        char    line[10000]; 
    int main() 

        if((fp=fopen("E:\\test.txt","r"))!=NULL) 
        { 
     while(!feof(fp))
    {
    fgets(line,1024,fp);
    printf("%s\n",line); 
     }
    }
    fclose(fp);
    return 1;}自己写了个,楼主fp=fopen("E:\\09GPLB\GAME-TXT\temp.txt","r")==NULL这地方应该是!=NULL才对,只有文件成功打开才进行读操作,还有路径中应该用\\(转义字符),fgets在读到回车换行结束,第二个参数的含义是读了1024(默认值)个字符后仍未读到回车换行则结束,相当于是一次所能读到的最多字符数
      

  4.   

    谢谢shakeyou123的正确指点.你说的很正确,谢谢!
      

  5.   

    printf("%s\n",line); 
    把这里面的\n去掉,fgets末尾自动加回车换行的,另外在return 1前加个printf("\n");