C++流:读取的符号比预期的要多

C++ fstream: More signs readen than intended

本文关键字:符号 读取 C++      更新时间:2023-10-16

这个问题对我来说真的很奇怪。我正在创建一个简单的文件并将其写入其中。当我用这个代码阅读时:

return_chars = new char[10];
file.read(return_chars, 10);

结果只包含4个字符!它有14个标志。只有在读取10个字符和某些其他数字(例如24)时才会发生这种情况。在长度为8的情况下,这种情况不会发生。它添加的符号在10个字符处始终相同:CE=0

例如,这是我用来显示我从文件中读取的内容的代码:

MessageBoxA(NULL, return_chars, "title", 0);

问题出在哪里?o.o非常感谢!

根据您提供的有限信息猜测,showText方法可能没有正确处理return_chars数组,因为它不是以null结尾的字符串?你可以试试,

return_chars = new char[11];
file.read(return_chars, 10);
return_chars[10] = '';
showText(return_chars);