【发布时间】:2022-01-04 21:20:28
【问题描述】:
程序读取指定为命令行参数的文件的内容。如果当前参数导致错误(无法打开文件),则将错误消息写入标准错误输出并使用以下参数继续执行。错误信息应该是:文件打开失败!。
#include <stdio.h>
int main() {
char name[1024];
scanf("%s",name);
FILE* fp = fopen("name.txt", "r");
if (fp !=0 ){
printf("Open is successfull");
} else {
printf("File opening unsuccessful! \n");
}
fclose(fp);
}
【问题讨论】:
-
这能回答你的问题吗? C - reading command line parameters
-
您没有使用输入提供的名称!这将有助于提供有用的错误消息。例如
fp = fopen(name, "r"); if( fp == NULL ){ perror(name); } -
这个问题有矛盾。首先你说你想给名字
scanf,然后问题描述说你应该提供名字作为命令行参数。是哪个? -
那么命令行参数是什么意思?我还以为是scanf呢。
-
@topi12 查看 cmets 中的第一个链接以获取命令行参数。回复 cmets 的时候也要使用@符号,否则人是看不到的。