C ++ fstream:比预期更多的标志

时间:2013-07-19 23:54:50

标签: c++ file

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

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

1 个答案:

答案 0 :(得分:3)

只是猜测你提供的有限信息,也许showText方法没有正确处理return_chars数组,因为它不是一个空终止字符串?你可以试试,

return_chars = new char[11];

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

showText(return_chars);