我想知道我们是否可以从我们分别在 C 和 C++ 中为文件名创建的文件对象中获取文件名,包括它的路径
FILE *fp = fopen(filename, mode); // in C
ofstream out(filename); // in C++
ifstream in(filename); // in C++
谢谢!
最佳答案
一般来说,你不能。该文件可能从来没有文件名,因为它可能是标准输入、输出、错误或套接字。该文件也可能已被删除;至少在 Unix 上,您仍然可以读取或写入已删除的文件,因为该进程保留了对它的引用,因此在引用计数变为零之前,底层文件本身不会被删除。一个文件也可能有多个名称;您可以有多个指向单个文件的硬链接(hard link)。
如果您想保留有关文件来源的信息,我建议您创建自己的结构或类,其中包含文件名和文件指针或流。
关于c++ - 从文件对象到文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2046515/