我有问题
如何获取程序中“input.txt”文件的名称
./a.out < input.txt
文件名不在主函数参数中。
最佳答案
根据您的可执行文件名为 a.out
的事实判断,这是在类 Unix 操作系统下进行的。假设它是 Linux,当您的进程正在运行时,/proc/self/fd/0
下将有一个指向输入文件(在您的情况下为 input.txt)的符号链接(symbolic link)。您可以使用 readlink
获取内容:
char LinkTarget[200];
readlink("/proc/self/fd/0", LinkTarget, sizeof LinkTarget);
就是说,如果您需要文件名而不仅仅是内容,最好让您的程序通过命令行参数(argv
内部)接受文件名,就像 Eddymage 所暗示的那样。
关于c++ - 如何在 C++ 中返回文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61084801/