我想运行一个程序,并允许用户在同一行输入。我检查文件是否存在,如果不存在,则打印
FILE : No such file or directory
FILE* filename;
filename = fopen(argv[2], "wb");
//validate file name
if(!filename) {
perror(filename);
return EXIT_FAILURE;
}
当我编译时,我收到以下警告:
expected âconst char *â but argument is of type âstruct FILE *â
最佳答案
在您上面的代码中,filename
是一个 FILE *
,而不是包含文件名的字符串。由于 argv[2]
似乎是文件名,您可以尝试:
if(!filename) {
perror(argv[2]);
return EXIT_FAILURE;
}
...但您应该首先检查 argv[2]
是否已设置(即 argc > 2
)。
关于c - 将文件名打印到标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854056/