2016-05-13 7 views
-3

私はバイナリファイルを持っています。ファイルはchar、float、integer long integerとdoubleを持っています。Cのバイナリファイルでバイトの文字を見つける方法はありますか?

ファイルのレコード(全てのデータがバイナリであろう実際のバイナリファイル内の任意のスペースや改行が存在しません):

「L」9.8 5.64 1 8「0」...

と私は最初のバイト、2番目のバイトのタイプを学ぶことができると思います... (私はそれを言う必要があります:最初のバイトはcharです、2番目のバイトは浮動小数点、3番目のバイトはダブルです... )

+0

質問にいくつかのコードを追加してください! –

+2

ファイルの内容について何も知らないうちに、実際にはわかりません。それは、「誰かが5になると聞きました...彼らが何を数えているかをどのように伝えることができますか? – Dmitri

答えて

4

バイトは、0255の間の単なる数です。タイプはありません。 char,int,floatおよび他のタイプは、1つまたは複数の隣接バイトの値を解釈する異なる方法である。

例えば、charと解釈される場合、65の値はAです。しかし、ファイルからバイトを読み取ったときには、数字が65か文字Aであるかどうかを判断する方法はありません。また、2バイトの整数から1バイトを取ることもできます(また、全体の番号を取得するには、次のバイトも読み取る必要があります)。

コードは、データの解釈方法を決定するコードです。

+2

これを追加するには、ファイルの_writer_ [またはファイル形式の指定]のコードを知り、それをガイドとして使用する必要があります –

関連する問題