在 Unix 命令行中,我需要使用输入重定向来指定输入文件:
./a.out < filename
这是我的源代码:
int main(int argc, char *argv[]) {
char fileName[30];
fgets(fileName, sizeof fileName, stdin);
printf("%s\n", fileName);
}
该程序打印一个整数而不是文件名。如果我使用,我会得到相同的结果scanf("%s", fileName);
我的 google-fu 让我失望了。我究竟做错了什么?
编辑:需要使用输入重定向(<
特别是),因此命令行参数不是一个选项。但是,我不需要真正知道文件名,我只需要从文件中读取换行符分隔的整数。看来我问错问题了。