开发平台(Platform): (Ex: Win10, Linux, ...)
Windows 10
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
Dev C 之后会移植到Qt上
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
目前针对txt档案是可以压缩 与 解压缩的
只是再对影片档 图片档 等其他档案无法压缩
喂入的资料(Input):
a.jpg
预期的正确结果(Expected Output):
压缩后的档案
STDOUT 会印出编码表
错误结果(Wrong Output):
STDOUT 印出空白 或是一两行乱码就没了
也无法进行解压缩
程式码(Code):(请善用置底文网页, 记得排版,禁止使用图档)
https://ideone.com/ZD7z1f
读档部分是
map<char, int> freqs; // frequency for each char from input text
int i;
// Opening input file
//
ifstream inputFile;
inputFile.open(inputFilepath,std::ifstream::binary | std::ifstream::in
);
if (!inputFile)
{
cerr<<"error: unable to open input file: " << inputFilepath <<endl
;
}
char ch[1]; //char
unsigned total = 0;
while (true)
{
inputFile.read((char*)ch,sizeof(ch));
if(inputFile.eof())
break;
//计算频率
freqs[ch[0]]++;
total++;
}
感觉是这部分问题
补充说明(Supplement):
有将档案读写部分改成用 c的 fopen(...,rb)
然后fread fwrite等等 可是依然只对txt档案有用
卡了很久感觉是开档读档的问题 可是又不知道哪里有问题 故来求解 谢谢各位