我遇到以下问题-有一个文件包含这样的信息(我不知道文件的大小):
\0\0\0\0\0\0123456789\0\0\0\0\0\0Name
\0\0\0\0\0\0111111111\0\0\0\0\0\0Name1
\0\0\0\0\0\0222222222\0\0\0\0\0\0Name2
,我的目标是读取行中间的数字和行末的名称。我正在尝试使用像这样的字符串逐行读取:
std::ifstream fileStream(file, std::ios::binary);
if (fileStream.is_open())
{
string line;
while (getline(fileStream, line))
{
cout << line;
}
}
但是我的输出是:没有
>
>
>
我猜这是因为其中有空字符,并且在遇到第一个空字符时字符串会终止,所以这就是为什么没有输出的原因。我只是不知道如何阅读整个内容,然后修剪空字符。
任何帮助将不胜感激。