繁体   English   中英

在C ++中创建临时文件

[英]Create temporary file in C++

我需要创建一个临时文件,用一些数据填充它,然后将结果发送到仅接受std::istreams

我尝试使用tmpfile()并满足我的第一个要求-“创建文件并用一些数据填充它”,但是它返回FILE*并且无法将其转换(据我所知)到std::streams

有C ++创建临时文件的方法吗? 如果这不可能,则tmpnam返回有效文件名的可靠性如何? 有人在Android或iOS上测试过吗?

编辑:我不想将数据复制到std::stringstream因为我的测试的一部分是从磁盘读取数据。

如果您想要替代std::tmpfilestd::tmpnam ,则可能需要查看Boost Filesystem库。 它包含一个函数unique_path() ,它将为您提供放置目录,文件等的位置。

它还包括标准库所不具备的其他文件系统操作功能,例如遍历目录中的文件。 我发现这些对于单元测试特别有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM