我正在尝试打开一个文件(在 ubuntu 上),该文件的路径在变量 path
中。但是当我尝试将路径传递给 fopen()
时,它找不到该文件。
这是一段代码
char path="./client.c";
FILE *fp;
if((fp=fopen(path,"r"))==NULL)
printf("file could not be opened\n");
不过,如果我直接传递路径,它就可以正常工作。以下代码工作正常。
FILE *fp;
if((fp=fopen("./client.c","r"))==NULL)
printf("file could not be opened\n");
我做错了什么?我该如何解决?
最佳答案
您没有在
中声明数组大小char path="./client.c";
将其更改为:
char path[]="./client.c";
现在您的代码应该可以按预期运行。
如果您对使用指针感兴趣,请使用
const char* path="./client.c";
直接指向字符串
关于c - 将 char 数组作为参数传递给 fopen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34244285/