std::hex
モディファイヤを使用します。std::vector
データのロードを簡素化するために使用できます。
#include <vector>
#include <fstream>
#include <iostream>
#include <stdint.h>
int main()
{
std::ifstream inFile("inFile.txt");
std::vector<uint8_t> data;
data.reserve(512);
unsigned int temp;
while(!inFile.eof()) {
inFile >> std::hex >> temp;
data.push_back(temp);
}
// Print one element per row
std::vector<uint8_t>::iterator i;
for (i = data.begin(); i != data.end(); ++i) {
std::cout << static_cast<unsigned> (*i) << std::endl;
}
// C++11 version (more compact)
// for (auto i = data.begin(); i != data.end(); ++i) {
// std::cout << static_cast<unsigned> (*i) << std::endl;
// }
return 0;
}
16 進数は として読み取られることに注意しunsigned int
てください。結果は必要に応じて配列であるため、これは のみです。印刷時にも同じことが起こります。文字コードではなく数字として表示されるように、 に変換し直しました。int8_t
char
ifstream
temp
uint8_t
unsigned
これは一例であることに注意してください。コードでさらにエラー チェックを行う必要があります。