C++流:读取的符号比预期的要多
C++ fstream: More signs readen than intended
这个问题对我来说真的很奇怪。我正在创建一个简单的文件并将其写入其中。当我用这个代码阅读时:
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);
相关文章:
- 在线程中读取无符号整数时,c++ 位是否以原子方式切换?
- 尝试将字符串从文件读取到无符号字符向量中
- ifstream 尝试读取 9 到 13 之间的无符号字符时非常奇怪的行为
- 从 C++ 中的无符号字符字节流中读取值
- C++ - 将任何文件的字节读取到无符号字符数组中
- 如何在 c++ 中读取/写入无符号数组到 ifstream/ostream?
- 重新定位源文件时读取调试符号
- 从C++文件中读取和打印 UTF-8 符号
- C 读单词读取文件,而没有任何符号
- C ++读取用户输入的字符一个一个符号
- 按Enter在Enter之后,ReadConsoleInput仅读取第一个符号
- std::ifstream 将文件读取为 BYTE(无符号字符)而不是字符
- 无法使用 fstream 从二进制文件中读取字符串,而是显示奇怪的符号
- 是否可以使用IDiaDataSource::LoadDataFromPdb从符号存储中读取pdb
- C++ 在将文本文件读取为字符串时,如何忽略文本文件中的符号/数字
- 将fortran生成的二进制文件读取到C++中的带符号整数数组中
- 如何从uint8_t的缓冲区读取带符号整数,而不调用未定义或实现定义的行为
- 符号从 ifstream 读取两次
- 用std :: stringstream读取/写作无符号字节
- VS 2012 调试 处理<文件时出现意外的符号读取器错误.exe>