Tim*_*Tim 4 c c++ file
我想知道我们是否可以从我们为C和C++中的文件名创建的文件对象中获取文件名,包括其路径
FILE *fp = fopen(filename, mode); // in C ofstream out(filename); // in C++ ifstream in(filename); // in C++
谢谢!
Kyl*_*utz 9
没有可移植的方法来检索FILE*对象的文件名.它甚至可能与实际文件(例如stdout的FILE指针)无关.
Bri*_*ell 9
一般来说,你不能.该文件可能没有文件名,因为它可能是标准输入,输出或错误,或者是套接字.该文件可能也已被删除; 至少在Unix上,您仍然可以读取或写入已删除的文件,因为进程会保留对它的引用,因此在引用计数变为零之前不会删除基础文件本身.文件的名称也可能不止一个; 您可以拥有指向单个文件的多个硬链接.
如果您想保留有关文件来源的信息,我建议您创建自己的结构或类,其中包含文件名和文件指针或流.
归档时间:
15 年,11 月 前
查看次数:
2704 次
最近记录: