【发布时间】:2020-11-18 03:30:04
【问题描述】:
我有一个包含如下数据的文件:
1F B8 08 08 00 00 00 00
我正在将它读入一个 int,将它转换为一个字符,并将它存储在一个数组中。
int n, i = 0;
char c;
while (ifs >> std::hex >> n) {
c = static_cast<unsigned char>(n);
r[i++] = c;
}
工作正常。如果数据中没有空格,我该怎么做,即
1FB8080800000000
上面的代码只是将 n 填充到 maxint 并退出。我可以使用 getc 等创建一些东西,但我希望 C++ 代码能够处理这两种情况。
【问题讨论】:
-
C++ 代码完全能够一次读取一个字符,例如
getc。你知道怎么做吗?
标签: c++ while-loop ifstream getc