c - 将文件名作为参数传递

标签 c file dynamic filenames

char fname[256];
printf("Enter file name\n");
scanf("%123s",fname);
strcat(fname,".txt");

FILE *inputf;
inputf=fopen(fname,"w");

if (inputf!=NULL)
    printf("found");
else
    printf("not found");

问题是无论我输入什么文件名我都得到一个非 空指针。任何人都可以解释为什么吗??

最佳答案

fopen(filename,"w") 将创建一个新文件。因此,如果您输入合法的文件名并具有适当的文件系统权限,它应该会成功。

如果您尝试打开现有文件,请使用:

fopen(filename, "r")

(注意“r”模式,而不是“w”。)

关于c - 将文件名作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5151144/

相关文章:

java - 图像未正确生成

php通过FTP将文件从服务器上传到另一个服务器?

swift - 使用 Swift 以编程方式将文本标签和按钮添加到动态 tableview 单元格

c - 如何检查特定字符是否按相同顺序出现?

c++ - 在不更改 makefile 后,Makefile 项目将不会构建(几乎相同的 make,工作正常)

C - 将 'string' 而不是 char 分配给 open 函数使用的变量

c - 字符数组的初始化

c - 如何获取每行中的字符数?

javascript - 动态内容被抛出表格之外

c# - .NET 3.5 中 ExpandoObject 的替代品,开销最小