【发布时间】:2011-11-18 06:53:43
【问题描述】:
我目前正在尝试读取 15,000 个整数的输入文件并将这些值传递到数组中。在将命令行参数传递到程序中时,我真的很生疏,所以也许我没有以正确的方式这样做。到目前为止,这是我编写的代码:
#include <stdio.h>
int main(int argc, char *argv[]) {
int i;
FILE *fp;
int c;
int values[15000];
char line[32];
int index = 0;
for (i = 1; i < argc; i++) {
fp = fopen(argv[i], "r");
if (fp == NULL) {
printf(stderr, "cat: can't open %s\n", argv[i]);
continue;
}
while (fgets(line, sizeof(line), fp) != NULL) {
scanf(line, "%d", values[index];
index++;
}
fclose(fp);
}
return 0;
}
我正在从命令行调用 gcc -o prob_5 input.txt 并收到以下错误消息:
/usr/bin/ld:input.txt: file format not recognized; treating as linker script
/usr/bin/ld:input.txt: syntax error
collect2: ld returned 1 exit status
我的代码或命令行参数是否有错误,或两者都有?
【问题讨论】:
-
@sehe 是的,我不确定在持续练习中提问的协议是什么。我认为每当遇到新问题时都应该编辑帖子,但有人建议我为每个停止点提交一个新问题,以便更快地获得答案。
标签: c unix command-line command-line-arguments