我的程序执行如下:
$./sort 1 < test.txt
sort是程序名
1 是参数 (argv[1])
test.txt 是我输入的文件
是否可以从中提取名称文件?如果是这样怎么办? 问题是我已经编写了整个程序,就好像我可以从输入行中提取名称一样,所以我需要能够将它传递给参数。
感谢任何帮助, 谢谢!
最佳答案
你不能。 shell 打开 (open(2)
) 该文件并设置重定向(很可能使用 dup2)。
唯一可能的方法是让 shell 显式导出环境变量中的信息,您可以通过 getenv
读取该信息。
但这并不总是有意义的。例如,您希望从中得到什么文件名
$ echo "This is the end" | ./sort 1
关于c - 如何从 C 中的 Unix 终端获取输入文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8353010/