当前位置: 技术问答>linux和unix
fopen 不能打开文件
来源: 互联网 发布时间:2016-08-18
本文导语: 我从一个文本文件读出需要读取的文件的绝对路径并打印出来了 在作为传入参数传给fopen方法 但不能打开 代码如下: printf("读出的文件名为:%sn",buffer_copy); ...
我从一个文本文件读出需要读取的文件的绝对路径并打印出来了 在作为传入参数传给fopen方法 但不能打开 代码如下:
printf("读出的文件名为:%sn",buffer_copy);
FILE *stream;
stream=fopen(buffer_copy,"rb");
perror("fopen");
这个文件的路径是正确的 我在把他直接赋给fopen时候是没有问题的 和我打印出来的路径一样
一直报错就是 fopen no such file or directory
printf("读出的文件名为:%sn",buffer_copy);
FILE *stream;
stream=fopen(buffer_copy,"rb");
perror("fopen");
这个文件的路径是正确的 我在把他直接赋给fopen时候是没有问题的 和我打印出来的路径一样
一直报错就是 fopen no such file or directory
|
我晕死,原来是文件中有换行,改成这样就可以了
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]='';
printf("name:%s,%dn",buffer_copy,len);
FILE *stream;
stream=fopen(buffer_copy,"rb");
perror("fopen");
fclose(stream);
}
return 0;
}