• ベストアンサー

バイナリファイルの書き出し

itohhの回答

  • ベストアンサー
  • itohh
  • ベストアンサー率45% (210/459)
回答No.5

こんにちは。itohhといいます。 >このプログラムでは、903C408360803C0000のみを出力してますよね。 これは、あくまでも例ですから... 実際は、どのようなバイナリデータを設定したいのかによってmemcpyになるか、あるいは その他の設定方法になるかは、yabuchanchanさんのプログラムによって変わってきます。 場合によっては、この関数(fncXtoA)を使わずに2文字(1バイト)づつ設定していくほうが 効率がいいかもしれませんし、いくつかのパターンがあるだけで条件によってバイナリデータ を替えるだけならば、if文などでmemcpyを選択しても良いと思います。 yabuchanchanさんのプログラムにあった方法にこのサンプルを加工して使ってください。

yabuchanchan
質問者

お礼

配列を用意してそこに2文字ずつ入れて行きました。 そうするとうまくいきました。 毎回いろいろな事教えて頂いてありがとうございます。 また、わからないことあったらよろしくお願いいたします。

関連するQ&A

  • VB.6 midiファイル書き出し

    VB.6でmidiファイル書き出すプログラムの組みかたがまかりません。SMFをバイナリエディタで手書きで書くことはぐらいの知識はあるのですが・・・ ご指導よろしくお願いします。

  • バイナリファイルなのですが・・・。

    研究用のデータを受け取ったのですが、テキストではなくバイナリファイルでもらいました。データを取得した人によると、↓にある装置を使って時系列データをintel86系バイナリフォーマットで記録したと言っていました。 http://www.sonysms.co.jp/j/products/datarecorder/pdf/SONY_PCscan3_jp.pdf どうにかしてこのバイナリファイルをテキストに変換して、データを取得したいのですが、どうしたらよいのでしょうか? ネットにあるバイナリ→テキスト変換ツールを使いましたが、16進数の数字が羅列されるだけで、エクセルなどで読めるデータ形式にはなりませんでした。

  • バイナリファイルの編集

    stirling,bzなどのエディタを用いて、バイナリファイルを編集しようとしています。 テキスト(a.txt)のデータをバイナリファイルにコピペしようとしたのですが・・・ テキストで「ff ff ff ff」と書いてあったデータが、バイナリファイルにコピペすると「4646~」というように変換されてしまいました。 バイナリファイルでも「ff ff ff ff」とコピーしたい場合はどのようにすれば良いのでしょうか?

  • バイナリファイルについて

    DataForkerというバイナリエディタで、MIDIのデータを書いたのですが 保存のしかたがよくわかりません。そのまま、適当にファイル名付けて、 .midと拡張子付けただけでは、これはMIDIファイルとして認識されないんでしょうか?

    • ベストアンサー
    • Mac
  • テキストファイルのデータからバイナリを作りたい

    現在、テキストデータとしてCSVファイル1つあたり8バイトのデータが1000個ほどのデータが書かれているファイルがあります。このデータをバイナリファイルへ数値も変換して行きたいと思っています。 たとえば1個目のデータ”12345678”というテキストデータをバイナリの"12345678"に変換したらそれを0x00番地に並べて、そして2個目のデータ”87654321”というデータをバイナリにしたらそれを0x90離れた場所に置いていき、それを1000回繰り返して、結果をバイナリファイルで出力したいのですが、何か簡単にできるフリーソフトなどありませんでしょうか? また、プログラムとかでも簡単にできるのならそうしたいのですが、どうしたらよいか教えていただけないでしょうか?

  • バイナリファイルの計算方法

    バイナリデータをはじめて扱う初心者です。 バイナリデータファイルからデータを読み出したいと思います。 環境はWindowsXPとLabView7.1です。 バイナリエディタで見てみると、  E8 03 と格納されている、2バイトshort型のデータがあります。 LabView7.1を使って、E8 03 という配列要素を読み出すことまではできました。 次に、この値を10進数で表現すると、いくつになれば正解なのでしょうか? (E8 03 という値をどのように計算して10進数にすればいいのでしょうか?) 私なりにプログラムした結果、-24か232のどちらかだと思うのですが自信がありません。 (データ自体が計測器が吐き出したデータなので、どのような値が入っているかわからないのです。 LabViewがビックエンディアンを使っていることも、正解に自信が持てない一因です) バイナリエディタで10進数に変換してくれるようなツールがあれば一番いいのですが。 ご存知の方がいらっしゃいましたら、ご教授ください。

  • 入力ファイルをバイナリにする利点

    CSV形式の入力ファイルをテキストではなく、バイナリのCSVに変換して利用する利点てなんでしょうか? つまり、とあるプログラムで「.csvファイル」を、エディタで開くと文字化けする「拡張子なし(または.dat)ファイル」に変換してからそれを入力ファイルとしているのですが、素人の自分から考えると、テキスト形式で作ったCSVファイルをそのまま入力ファイルにすればいいんじゃないかと思ってしまいます。 バイナリの方が読み込み、書き込みが速くなるのでしょうか? またはバイナリでないとできないことがあるのでしょうか? ポインタなどが関係しているのでしょか? ちなみにその開発環境はVC++です。

  • バイナリエディタって?

    ファイルをいろいろなアプリケーションプログラムから 開くことができますが、バイナリデータとしてみる あるいは16進数表示のデータとして表示するのはバイナリエディタとやらを使ってひらくのでしょうか? それってどこにあるのかわかりません。フリーウエアでダウンロードするのか プリインストールされているのでしょうか。昔はダンプリストとやらで ずらずらっとファイルを16進数表示できてましたが。 このあたりについておわかりの方お教えください。

  • この方法でバイナリデータが読めるのでしょうか

    あるプログラムでバイナリ出力しているファイルがあります。これを単純にfread()で読み込んで、今度はfprintf()で出力すればどうなりますか?やりたいことは、バイナリ出力されたファイルをテキストファイルに変換したいのですが、この方法で、バイナリファイルが読めるでしょうか? ちなみに、読みたいバイナリファイルは、fwrite()で書き出したファイルです。 あと、「バイナリファイルです」と言って貰ったファイルを、windowsのテキストエディタなどで開くと、appleなどの通常のアルファベットの単語と、あとは訳のわからないものが見えるのですが、これってバイナリファイルじゃないですよね?appleなどと書いてあるのですから。 間違えていましたら、訂正お願いします。

  • テキストファイルをバイナリファイルに変換

    -32768, -32768, -32768, -32768, -32768, -32768, -32768, -32768, -32768, -32768, 130, 120, 120, 109, 100, 100, 94, 91, 90, 89, 87, -32768, 78, 71, … と続いていくテキストファイルのデータをバイナリデータにC言語で変換したいのですが、どうすれば変換出来るのでしょうか。