【发布时间】:2012-05-26 21:47:57
【问题描述】:
众所周知的创建 fstream 对象的方法是:
ifstream fobj("myfile.txt");
即。使用文件名。
但我想使用文件描述符创建一个 ifstream 对象。
原因:我想使用
_popen()执行命令。_popen()将输出作为FILE*返回。所以有一个 FILE* 指针,但没有文件名。
【问题讨论】:
-
@Joe:Posix 文件描述符是另一回事。据推测,C++ iostream 和 C I/O 都是在 Posix 平台上根据它们实现的。不过,目前的问题更合理,因为 iostreams 和 C I/O 都是标准库的一部分。
-
这是stackoverflow.com/questions/2746168/… 的副本,因为您可以在从
popen返回的FILE*上使用fileno