我想将文件传递到交流程序。
如果我在IDE中执行此参数
./test string string回来了
argc = 5
,但是在航站楼上我才刚开始argc = 3
。似乎是因为有“ <”符号,我想使用它来表示我正在传递文件。
<是什么意思?我在Tilix终端上使用Ubuntu
1> tripleee..:重定向由外壳执行,并且对程序不(直接)可见。
./test string string手段,
打开
test.txt
以读取文件描述符1运行
./test
的论据string
和string
在第2点运行的程序将继承父对象的文件描述符,因此其标准输入将连接到打开的文件句柄(而不是Shell的当前标准输入,它可能是您的终端,也可能是其他文件句柄)。
顺便说一句,您可能希望避免调用程序
test
,尽管只要您不忘记使用显式路径来调用它,这是无害的。