2012-02-19 5 views
1

ヘクスからバイナリファイルを作成:は、私が使用したC

sprintf(hex, "%02x", (unsigned int) buffer[0] & 0xff); 

は、バイナリファイルの16進数表現を取得します。その後、私はこの表現をtxtファイルに保存します。

ここで逆の操作をしたいと思います。私の16進データからバイナリファイルを作成するにはどうすればいいですか?

+0

ティモシーの答えがあなたの質問に答えている間に - 私は尋ねなければならない、なぜあなたはこれをやっているのですか?バイナリファイル(ASCII:バイナリではありません)に書き込む場合、16進数を書く理由はありません。バイナリを読み書きする方が速く、小さく、必要なコードが少なくてすみます(いつも覚えておいて、コードはより良いコードです)。 –

+0

最初のプログラムでは、バイナリファイルの16進表現(例えば、いくつかのpdfファイル)を持つtxtファイルを作成します。そして今、2番目のプログラムでは、txtファイルからデータを読み込み、バイナリファイルのコピーを作成したいと思います。たぶんそれは少し複雑ですが、私はこのようなものが必要です。 – matyyyy

答えて

4

sscanf()あなたは、必要に応じてsprintf()

int output; 
int we_read_an_integer = sscanf(inputString, "%02x", &output); 

繰り返しの逆を行うようになります。

関連する問題