c++ - 从文件对象到文件名

标签 c++ c file

我想知道我们是否可以从我们分别在 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/

相关文章:

android - 在 android native C++ 中使用 Facemark opencv contrib

c# - 结合RFID读写器在arduino中接收USB串口数据

c# - 加密文件并将其发送通过

C TCP套接字,发送文件的回显服务器,发送文件后挂断

C++ 集合——键小于 x 的元素数

c++ - 实现数据输入速记?

c - 尝试缓冲 malloc() 分配的溢出值

Java:读取、编辑和创建文本文件

c++ - 更新 mongo 集合

c - 我应该如何使用 FIFO 等待子进程的输入