这个问题对我来说真的很奇怪。我正在创建并写入一个简单的文件。 当我阅读这段代码时:
return_chars = new char[10];
file.read(return_chars, 10);
结果仅仅多了4个字符!它有 14 个符号长。 只有在读取 10 个字符和某些其他数字(例如 24)时才会发生这种情况。 在长度为 8 时,它不会发生。 它添加的符号总是相同的 10 个字符:CE=0
例如,这是我用来显示我从文件中读取的内容的代码:
MessageBoxA(NULL, return_chars, "title", 0);
问题出在哪里?哦 非常感谢!
最佳答案
只是根据您提供的有限信息进行猜测,也许 showText 方法无法正确处理 return_chars 数组,因为它不是空终止字符串?你可以试试,
return_chars = new char[11];
file.read(return_chars, 10);
return_chars[10] = '\0';
showText(return_chars);
关于C++ fstream : More signs readen than intended,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17757173/