Как читать шестнадцатеричные значения из файла с помощью fstream в c ++?

Как сказано в заголовке, как вы читаете шестнадцатеричные значения с помощью 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";
  }

Может кто-нибудь мне с этим помочь? мне нужно разделять каждое значение HEX, которое я хочу прочитать, пробелом? потому что infile >> hex >> setw (1) не работает ..

9
задан ardiyu07 18 February 2011 в 11:54
поделиться