我是 C 的小新手。
./main 7 4
终端中的这个命令导致 argv[1] = 7,argv[2] = 4。
./main <input.in
当我在终端中使用标准输入的重定向时,它只显示 argc = 1(./main)。
有什么方法可以解决这个问题,还是我必须尝试其他方法?
最佳答案
你的 shell 解释 <file.txt
作为“将 file.txt 的内容发送到此进程的标准输入”,因此您的程序永远不会看到 <file.txt
部分。
没有办法解决这个问题,因为这是 POSIX(可能还有其他)shell 的故意特性。
关于c - 如果标准输入是文件,main 的 char *argv[] 不包含参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40189917/