我有一个简单的C语言程序“prog.c”:
#include<stdio.h>
int main(int argc, char *argv[]) {
printf("Count: %d\n", argc);
printf("Text: %s\n", argv[1]);
return 0;
}
当我编译程序并以.txt文件作为参数运行时,程序根本无法识别此参数。
我编译:gcc prog.c,它创建一个“a.exe”文件。
然后,我运行.exe程序与.txt文件作为参数(尝试以下所有选项):a < text.txt
a.exe < text.txt
个
输出始终为
Count: 1
Text: (null)
我在Win10上运行所有的东西,并使用MinGW进行编译。
1条答案
按热度按时间plicqrtu1#
在使用以下命令引用
argv[1]
之前,您需要检查是否已设置argv[1]
:然后,您可以这样运行它:
当你使用
< test.txt
时,文件test.txt被复制到程序的标准输入。你可以使用,例如,read()
或fread()
来读取所述输入。