0

バイナリ ファイルを開き、DES を使用して暗号化するプログラムを作成したいと考えています。

しかし、どうすればバイナリファイルを読むことができますか?

4

1 に答える 1

12

「どうすればバイナリファイルを読めますか?」

バイナリ ファイルを読み取り、そのデータを処理 (暗号化、圧縮など) する場合は、操作しやすい形式でメモリにロードするのが合理的です。std::vector<BYTE>where BYTEis anを使用することをお勧めしますunsigned char:

#include <fstream>
#include <vector>
typedef unsigned char BYTE;

std::vector<BYTE> readFile(const char* filename)
{
    // open the file:
    std::streampos fileSize;
    std::ifstream file(filename, std::ios::binary);

    // get its size:
    file.seekg(0, std::ios::end);
    fileSize = file.tellg();
    file.seekg(0, std::ios::beg);

    // read the data:
    std::vector<BYTE> fileData(fileSize);
    file.read((char*) &fileData[0], fileSize);
    return fileData;
}

この関数を使用すると、次のようにファイルをベクトルに簡単にロードできます。

std::vector<BYTE> fileData = readfile("myfile.bin");

お役に立てれば :)

于 2013-03-12T16:23:23.993 に答える