上个学期我从命令行参数输入文件的时间非常糟糕,我需要将它用于我正在进行的练习。我编写了一个简单的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
自上个学期以来,我重新格式化了我的电脑,所以也许我错过了系统路径?
答案 0 :(得分:3)
看起来您的程序只需要一个参数:文件名。你还必须先编译它。
$ gcc -o prob_5 prob_5.c
$ ./prob_5 input_file.txt
如果没有编译,那么你有另一个问题。执行gcc
时返回的内容是什么?