簡體   English   中英

從文件讀取文本到unsigned char數組

[英]Reading text from file to unsigned char array

我希望使用OpenSSL來加密文件中的文本,並且在加密之前需要將文本放在unsigned char數組中。 從文件讀取文本到unsigned char數組最簡單的方法是什么?

你的問題被標記為C和C ++ (這不是建設性的) 我將給出C ++的答案。

#include <fstream>
#include <iterator>
#include <vector>

using namespace std;

int main()
{
    ifstream in("filename.txt"); //open file
    in >> noskipws;  //we don't want to skip spaces        
    //initialize a vector with a pair of istream_iterators
    vector<unsigned char> v((istream_iterator<unsigned char>(in)), 
                            (istream_iterator<unsigned char>()));
    ...
}

以您喜歡的任何數據類型讀取它。 轉換為(unsigned char*)可以保證您訪問各個字節。

編輯:這是C的答案,而不是C ++。 最初的問題也被標記為C.

網上必須有大量關於如何做到這一點的例子。 唯一棘手的部分是你幾乎肯定需要為數組動態分配內存,以保證你不會讀取比數組中更多的輸入。 此外,如果需要處理不適合單個字節數組的大型文件(例如,幾GB或更大),則需要進行更多研究。

暫無
暫無

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

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