Moh*_*awe -3 c++ file-io binaryfiles visual-c++
我想编写一个打开二进制文件并使用DES对其加密的程序。
但是如何读取二进制文件?
“如何读取二进制文件?”
如果要读取二进制文件然后处理其数据(对其进行加密,压缩等),那么以一种易于使用的形式将其加载到内存中似乎是合理的。我建议您使用std::vector<BYTE>where BYTE是unsinged 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;
}
Run Code Online (Sandbox Code Playgroud)
使用此功能,您可以像这样轻松地将文件加载到向量中:
std::vector<BYTE> fileData = readfile("myfile.bin");
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助 :)