Re: [問題] 如何cout出char裡面的內容以16進位表示
※ 引述《rockwalking (技安)》之銘言:
: 我想要讀入一個jpeg檔的binary data,為了確保我的確是讀對了
: 我寫了以下的code,但不幸的是buffer 因為是char type ,cout
: 出來的東西會是一堆亂碼。這樣我無法去跟我用Ultra Edit開啟此檔
: 的原始碼做比對。請問該如何寫?
試寫了一下,你的問題應該出在下面這些點。
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int main(int argc, char* argv[]) {
unsigned char buffer;
ifstream is("test.dat", ios::binary);
while (is.read((char*)&buffer, 1)) {
cout << hex << uppercase
<< setw(2) << setfill('0')
<< (int)buffer << " ";
}
cout << endl;
is.close();
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: DigiPrince 來自: 140.113.94.230 (06/01 09:44)
推
06/01 11:55, , 1F
06/01 11:55, 1F
→
06/01 11:55, , 2F
06/01 11:55, 2F
推
06/01 11:59, , 3F
06/01 11:59, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):