我只是在尝试一些文件处理的东西。
我有一个最大大小约为 100 000 个字符的数组,我已经让它填充了大约 11000 个字符。
我尝试将数组输出回文件。
但我意识到文件在一个奇怪的地方被切断了。
所以我查看了实际的数组,并意识到文件输出只到了它的第 8192 个字符。(str[8191])
std::ostream &operator << (std::ostream &os, Encrypt &s) {
if(s.c_count == 0) {
cerr << "No ciphertext available!" << endl; os << "";
}
else
for(int i=0; i<s.c_count; i++) {
os << s.txt.m[i];
}
return os;
}
这是我的类 Encrypt 的运算符函数。
OutputName = "OUT.txt";
fstream ofile(OutputName.c_str(), ios_base::app);
ofile << encrypt;
我的第 8193 个字符只是一个普通字符,它不像一个空字符或任何东西。为什么会发生这种情况,我该如何解决这个问题?
提前致谢!
+) 当我做同样的事情,并且做
cout << encrypt;
代替,
ofile << encrypt;
它工作得很好。