gpt4 book ai didi

c - 将 char 数组作为参数传递给 fopen

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:01 24 4
gpt4 key购买 nike

我正在尝试打开一个文件(在 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com