命令行参数和文件输入

时间:2011-09-15 21:12:18

标签: c visual-studio-2010 command-line command-line-arguments

上个学期我从命令行参数输入文件的时间非常糟糕,我需要将它用于我正在进行的练习。我编写了一个简单的shell来让它工作:

prob_5.c

#include <stdio.h>

int main(int argc, char *argv[]) {
int i;
FILE *fp;
int c;

for (i = 1; i < argc; i++) {
    fp = fopen(argv[i], "r");

    if (fp == NULL) {
        fprint(stderr, "cat: can't open %s\n", argv[i]);
        continue;
    }

    while ((c = getc(fp)) != EOF) {
        putchar(c);
    }

    fclose(fp);
}

return 0;
}

我似乎无法记住从命令行调用程序的命令。我试过了:

gcc -o prob_5 -g -ansi prob_5.c

自上个学期以来,我重新格式化了我的电脑,所以也许我错过了系统路径?

1 个答案:

答案 0 :(得分:3)

看起来您的程序只需要一个参数:文件名。你还必须先编译它。

$ gcc -o prob_5 prob_5.c
$ ./prob_5 input_file.txt

如果没有编译,那么你有另一个问题。执行gcc时返回的内容是什么?