[英]C Program - File-io user input
我试图让用户输入一个特定的文件名,并使程序能够读取它。
FILE *fp;
char file[10];
fgets(file, sizeof(file), stdin);
fp = fopen(file, "r");
if (fp == NULL) {
printf("File doesn't open\n");
return 1;
}
这是我的代码的一部分,也是我目前正在尝试做的事情。 当我运行程序并输入文件名时,输出为“文件未打开”,这是我的错误消息。
假设您的意思是fopen(file,...)
,则必须先除去换行符的文件,然后才能执行此操作。 请参见手册页中的fgets
和[我建议] strchr
。
使用perror
打印系统错误诊断信息:
int main(){
FILE *fp;
char file[10];
fgets(file, sizeof(file), stdin);
fp = fopen(file, "r");
if (!fp) {
perror(file);
return 1;
}
}
如果您要求文件f
,它将显示:
f
: No such file or directory
这应该指出问题的根源(例如,由于权限原因, fopen
调用也可能会失败)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.