【发布时间】:2015-08-31 11:21:33
【问题描述】:
我想运行一个程序,并允许用户在同一行输入。我检查文件是否存在,如果不存在,打印
FILE : 没有这样的文件或目录
FILE* filename;
filename = fopen(argv[2], "wb");
//validate file name
if(!filename) {
perror(filename);
return EXIT_FAILURE;
}
当我编译时,我收到以下警告:
预期为 âconst char *â 但参数类型为 âstruct FILE *â
【问题讨论】:
-
filename的类型是什么?char *? -
我完全被这个问题的措辞弄糊涂了..
-
@EugeneSh。哈哈。耐心点,我的朋友……让 OP 添加更多信息……
-
好吧,我想我们应该提供一点帮助。
perror用于由标准错误编号给出的打印错误。与用户输入的文件名无关。 -
@EugeneSh。这有助于解释吗?打印的“文件”部分应该是文件名>我不确定如何打印出文件名。我可以使用 printf(),但使用 %p 不起作用。
标签: c file error-handling