【发布时间】:2011-02-18 11:23:51
【问题描述】:
正如标题所说,如何使用fstream 读取十六进制值?
我有这个代码:(假设我们在文件中有“FF”。)
fstream infile;
infile.open(filename, fstream::in|fstream::out|fstream::app);
int a;
infile >> std::hex;
infile >> a;
cout << hex << a;
但这并没有给我任何输出而不是ff。我知道有一个fscanf(fp, "%x", val),但我很好奇有没有办法使用流库来做到这一点。
更新:
我的代码一直都是正确的,结果我的错误是我无法读取 "FFF" 并将其放入变量 a、b、c 中
while (infile >> hex >> a >> b >> c)
{
cout << hex << a << b << c << "\n";
}
有人可以帮我解决这个问题吗?我必须用空格分隔我想读取的每个十六进制值吗?
因为infile >> hex >> setw(1) 不起作用..
【问题讨论】:
-
这与十六进制值无关。你的错误在别处。
-
在问到这里之前,在谷歌上搜索。我相信你会找到这个琐碎问题的答案
-
@gcc 我在谷歌上搜索过,但对我的情况没有用..
-
@etarion 你是对的,但我还有一个问题请帮助我:|
-
@gcc:有时很难在“文本框”中表达您的查询。因此,最好在这里问它。此外,您最终可能会收到损坏的链接或不正确的信息。该站点由活跃的社区支持。因此,即使可以使用 Google 找到相同的答案,这里的答案也更有价值。