こんにちは皆さん、私は次のようにバイナリファイルからバイナリデータを読み取るときに問題が発生します:
ファイルの内容:D3 EE EE 00 00 01 D7 C4 D9 40
char * afpContentBlock = new char[10];
ifstream inputStream(sInputFile, ios::in|ios::binary);
if (inputStream.is_open()))
{
inputStream.read(afpContentBlock, 10);
int n = sizeof(afpContentBlock)/sizeof(afpContentBlock[0]); // Print 4
// Here i would like to check every byte, but no matter how i convert the
// char[] afpContentBlock, it always cut at first byte 0x00.
}
私はこれがバイト0x00の原因で起こることを知っています。どういうわけかそれを管理する方法はありますか?ofstreamオブジェクトで書き込もうとしましたが、10バイト全体を書き出すので問題なく動作します。とにかく、バイト配列全体をループしてバイト値をチェックしたいと思います。
どうもありがとうございます。