小智 6
不,不是.FILE是所谓的opaque类型 - 它没有任何你可以自定义的东西.
如果您的"自定义流"不是您可以用文件描述符或文件句柄表示的东西,那么您就不走运了.该FILE类型是实现定义的,所以有到其他事情与一个相关联的标准方法.
如果你可以获得一个C文件描述符,无论你想要写什么,那么你可以调用fdopen它来把它变成一个FILE*.它不是标准的C或C++,而是由Posix提供的.在Windows上,它是拼写的_fdopen.
如果您使用的是Windows并且有a HANDLE,则可以使用_open_osfhandle它将文件描述符与其关联,然后_fdopen从那里使用.
你真的被束缚了fputs吗?如果没有,则使用C++ IOStream替换它.然后你可以提供自己的后代std::basic_streambuf,将其包装在一起std::ostream,并在其上使用标准的C++ I/O.
| 归档时间: |
|
| 查看次数: |
4842 次 |
| 最近记录: |