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/