我的程序需要接受以下三种类型的输入命令:
./Myprogram input.txt
./Myprogram < input.txt
./Myprogram
我在考虑使用argc
来检查参数数量,以解决前两种情况(因为重定向不算作参数)。但是我卡在了最后一种情况,它只是等待用户输入。
我想知道是否有办法判断shell命令中是否存在重定向?
对于更复杂的场景,例如重定向和argv形式混合的情况(请参见下文)。有没有办法做到这一点,或者这只是一个处理用户命令的不好设计?
./Myprogram input1.txt input2.txt input3.txt
./Myprogram input1.txt < input2.txt input3.txt
./Myprogram
任何帮助都将不胜感激!
Z.Zen
curses
或者readline
,那么第三种情况可能会有所不同。 - Matthew Flaschen