こんな感じでね。
std::ifstream ifs(path,std::ios::in | std::ios::binary);
unsigned char c;
do {
ifs >> c;
std::count << (int)c;
} while(!ifs.eof());
そしたら特定のバイトだけ読み込まないんですよ。どうも勝手にスキップされている。
"0x20"を読み込む時だけスキップされている。
ASCIIコード上で空白(0x20)なので、それが原因なのかもしれない?
暗黙の型変換か何か?
ifstraem::read()を使う事でこの問題を回避出来ました。
まさかこんなところにトラップがあるとは思わなかったよ…
0 件のコメント :
コメントを投稿