首先,我应该告诉你我使用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);
// ...
并尝试运行它,没有任何内容显示为输出,命令行关闭。有人能告诉我为什么会这样吗?
答案 0 :(得分:1)
将您的计划更改为:
main(int argc, char *argv[])
{
FILE *fp;
if (argc < 2)
{
printf ("Please supply an argument\n") ;
return 1 ;
}
fp=fopen(argv[1],"r");
....
并查看输出结果。可能你没有为你的程序提供命令行参数。