0

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

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 提前非常感谢!

4

1 回答 1

3

Just a guess from the limited information you gave, maybe the showText method doesn't handle the return_chars array correctly because it isn't a null terminated string? You could try,

return_chars = new char[11];

file.read(return_chars, 10);
return_chars[10] = '\0';

showText(return_chars);
于 2013-07-19T23:58:08.627 回答