Reading text from file to unsigned char array

前端 未结 3 1833
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-01 02:04

I was looking to use OpenSSL to encrypt text in a file, and will need the text to be in an unsigned char array before I encrypt it. What is the easiest way read text from a

相关标签:
3条回答
  • 2021-01-01 02:35

    There must be a ton of examples online of how to do this. The only tricky part is that you will almost certainly need to dynamically allocate memory for the array in order to guarantee that you do not read more input than can fit in the array. Also, you will need to do more research if you need to process large files (say, several GB or larger) that will not fit into a single array of bytes.

    0 讨论(0)
  • 2021-01-01 02:36

    Read it in whatever data type of your liking. Cast to (unsigned char*) is guaranteed to give you access to the individual bytes.

    Edit: This is an answer for C, and not C++. Originally the question was tagged C, too.

    0 讨论(0)
  • 2021-01-01 02:46

    Your question is tagged both C and C++ (which isn't constructive). I will give an answer for 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>()));
        ...
    }
    
    0 讨论(0)
提交回复
热议问题