簡體   English   中英

如何在C ++中使用混合文本和二進制文件讀取大文件

[英]How to read large files in C++ with mixed text and binary

我需要讀取一個文本,二進制或組合形式的大文件,例如JPEG文件,對其進行加密,然后將其寫入文件。 稍后,我將需要讀取加密的數據並對其解密。 最終目標是驗證解密后的數據是否與原始數據匹配。 我的問題是,對於大於1Meg的大文件,我不想一個字一個字地讀寫。 我將此代碼定位於手機,而I / O會對用戶造成太長的延遲。 對於純文本文件,使用fread()和fwrite()將數據轉換為二進制,結果與原始結果不同。 對於jpeg圖像,似乎有些文本內容與二進制數據混合在一起。 有沒有一種方法可以有效地讀取任意類型的文件並以原始格式寫回? 還是逐字逐句是唯一的選擇? 還是我還是不走運?

調試后,事實證明解密功能具有向后分配的純文本和密文緩沖區。 交換緩沖區分配后,解密結果與原始數據匹配。 我本來以為可能以二進制形式讀取文本,然后以二進制形式重寫則不會顯示為文本,但是我錯了。 以二進制形式讀取整個文件就可以了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM