【发布时间】:2020-10-30 11:20:27
【问题描述】:
我正在尝试从二进制文件中读取字符串(ver)。字符串中的字符数(numc)也是从文件中读取的。这就是我读取文件的方式:
uint32_t numc;
inFile.read((char*)&numc, sizeof(numc));
char* ver = new char[numc];
inFile.read(ver, numc);
cout << "the version is: " << ver << endl;
我得到的是我期望的字符串加上一些其他符号。我该如何解决这个问题?
【问题讨论】:
-
它在文件中不是空终止的。您需要将它存储在一个长度感知的字符串存储中,例如 std::string,或者自己提供空字符。另见stackoverflow.com/questions/27061489/…
-
感谢@Kenny Ostrom 的回复