C++ 如何将任何格式的文件读取为字符串,以便使用哈夫曼算法进行进一步压缩
如何读取任何格式的文件(doc、pdf、jpeg)?我的版本只能使用txt,所以我无法正确解压缩文件 从输入文件读取的My函数:C++ 如何将任何格式的文件读取为字符串,以便使用哈夫曼算法进行进一步压缩,c++,compression,readfile,C++,Compression,Readfile,如何读取任何格式的文件(doc、pdf、jpeg)?我的版本只能使用txt,所以我无法正确解压缩文件 从输入文件读取的My函数: std::string getDataFromFileToString(std::string &fName) { std::string s; std::ifstream fr(fName, std::ios_base::in | std::ios::binary); if (!fr.is_open()) {
std::string getDataFromFileToString(std::string &fName)
{
std::string s;
std::ifstream fr(fName, std::ios_base::in | std::ios::binary);
if (!fr.is_open())
{
std::cerr << "File \"" << fName << "\" does not exist\n";
exit(EXIT_FAILURE);
}
char c;
while(fr.get(c))
s.push_back(c);
fr.close();
return s;
}
std::string getDataFromFileToString(std::string&fName)
{
std::字符串s;
std::ifstream fr(fName,std::ios|u base::in | std::ios::binary);
如果(!fr.处于打开状态())
{
如果它只正确处理文本文件,则可能需要以二进制模式打开文件:
改变
std::ifstream fr(fName,std::ios_base::in);
到
std::ifstream fr(fName,std::ios_base::in | std::ios::binary);
并对输出文件进行类似的更改。如果它只正确处理文本文件,则可能需要以二进制模式打开文件:
改变
std::ifstream fr(fName,std::ios_base::in);
到
std::ifstream fr(fName,std::ios_base::in | std::ios::binary);
并对输出文件进行类似的更改。这对我有帮助。我还将字符串更改为矢量。我还将字符串更改为矢量