簡體   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