日期:2014-05-16  浏览次数:20627 次

fopen 不能打开文件
我从一个文本文件读出需要读取的文件的绝对路径并打印出来了 在作为传入参数传给fopen方法 但不能打开 代码如下:
  printf("读出的文件名为:%s\n",buffer_copy); 
FILE *stream;
stream=fopen(buffer_copy,"rb");
perror("fopen");
这个文件的路径是正确的 我在把他直接赋给fopen时候是没有问题的 和我打印出来的路径一样
一直报错就是 fopen no such file or directory

------解决方案--------------------
我晕死,原来是文件中有换行,改成这样就可以了
C/C++ code

int main(){
    FILE *fp;
    char tmp[100];
    if((fp=fopen("/root/conf/test.txt","rb+"))==NULL)
        {
            printf("Cannot open file strike any key exit!");
            return -1;
        }
        rewind(fp);

    while(!feof(fp))
    {
        memset(tmp,0,100);
        fgets(tmp,100,fp);
        int len = strlen(tmp);

        char buffer_copy[100];
        memset(buffer_copy,0,100);
        strcpy(buffer_copy,tmp);
        buffer_copy[len-1]='\0';
        printf("name:%s,%d\n",buffer_copy,len);
        FILE *stream;
        stream=fopen(buffer_copy,"rb");
        perror("fopen");
        fclose(stream);
    }
  return 0;
}