首先,我应该告诉您,我使用DEV C ++编写程序。
好的,到现在为止...我编写了一个程序,该程序从名为“ candidates1.txt”的文件中获取输入。
因此,第一行是:
main() {
FILE *fp;
fp = fopen("candidates1.txt", "r");
fscanf(fp, "%d %d", &N, &length);
// ...
我相信其余的都没关系。如果我像这样运行程序,则会得到理想的输出。但是,如果我将其更改为:
main(int argc, char *argv[]) {
FILE *fp;
fp = fopen(argv[1], "r");
fscanf(fp, "%d %d", &N, &length);
// ...
并尝试运行它,没有任何显示为输出,并且命令行关闭。有人可以告诉我为什么会这样吗?
最佳答案
将程序更改为此:
main(int argc, char *argv[])
{
FILE *fp;
if (argc < 2)
{
printf ("Please supply an argument\n") ;
return 1 ;
}
fp=fopen(argv[1],"r");
....
看看输出是什么。可能您没有为程序提供命令行参数。