バイナリ ファイルを開き、DES を使用して暗号化するプログラムを作成したいと考えています。
しかし、どうすればバイナリファイルを読むことができますか?
バイナリ ファイルを開き、DES を使用して暗号化するプログラムを作成したいと考えています。
しかし、どうすればバイナリファイルを読むことができますか?
「どうすればバイナリファイルを読めますか?」
バイナリ ファイルを読み取り、そのデータを処理 (暗号化、圧縮など) する場合は、操作しやすい形式でメモリにロードするのが合理的です。std::vector<BYTE>
where BYTE
is 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");
お役に立てれば :)