C 程序标准输入文件名访问

标签 c unix stdin

我想知道是否有办法在 C 程序中访问标准输入文件的名称。我环顾四周,没有发现任何东西。例如

./a.out < file.txt

C 程序中有没有办法打印出文件名(file.txt)?

最佳答案

如果您使用的是 Linux,您可以通过阅读 /proc/[pid]/fd/0 来完成您想要的任务。或解析 lsof -p [pid] ,其中[pid]是您的进程的进程 ID。

参见proce(5)lsof(8) .

关于C 程序标准输入文件名访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290605/

相关文章:

c - 在磁盘上分配文件而不清零

c - 生成整数数组

debugging - dbxtool : debug executable and run with arguments

ruby-on-rails - Capistrano 使用 sudo 执行命令,尽管它已关闭

linux - 如何让 bash 变量在 awk 管道上工作

php - PHP套接字标准输入附加到接收到的数据

我们可以在 C 中为静态变量动态分配内存吗?

c - 以一致的方式对结构和数组进行别名

java - 在Java中多次从标准输入读取

ruby - 无法在 ruby​​ 中使用 STDIN.gets.chomp() 获得正确的输入