ページ 11

ファイルの読み込み2

Posted: 2011年3月28日(月) 15:30
by fulls
毎度毎度すいません。
C言語でファイルのパッキングをやっています。
ゲームの画像などをパッキングして配布したときに勝手に見られないようにしたいのですが、パッキングは出来ましたが読み込みができません。
今、私はパッキングされたファイルには画像の名前とサイズと画像データと画像の枚数が記録されているのでそれを読み込み変数にそれらのデータと画像のアドレスを記録していき画像を表示させればいいと考えています。
そこで、そのパッキングされたデータを文字列として取得したいと考えたのですが、なかなかうまくいきません。

できたデータは
画像の個数:画像Aの名前:画像Aのサイズ:画像Aのデータ:画像Bの名前:画像Bのサイズ:画像Bのデータ...
みたいな感じで入っているはずです。
なにかヒントだけでもいいので読み込みのやり方を教えてください。
また、やり方を変えたほうがいいならどうかえたらいいか教えてください。
お願いします。

Re: ファイルの読み込み2

Posted: 2011年3月28日(月) 15:49
by non
>そこで、そのパッキングされたデータを文字列として取得したいと考えたのですが、なかなかうまくいきません。

どうして、バイナリーデータでなくて、テキストデータなのでしょう?

Re: ファイルの読み込み2

Posted: 2011年3月28日(月) 15:56
by fulls
ファイル自体はバイナリデータです。
ただ、記録されているデータを読み取るために文字列として扱おうかと思ったのですが...
なにか違ういい方法がありましたら教えてください。

Re: ファイルの読み込み2

Posted: 2011年3月28日(月) 18:00
by lriki
バイナリとテキストを混同しているとファイルの入出力時、一部のデータが勝手に変換されます。

↓の「17-2.ファイル入出力関数」
http://www9.plala.or.jp/sgwr-t/c/sec17.html

バイナリで統一するのが無難かと思います。


>記録されているデータを読み取るために文字列として扱おうかと思ったのですが...

データというのは 画像Aの名前 という文字列のことでしょうか?
そうでなければテキストで読む必要はないと思います。

Re: ファイルの読み込み2

Posted: 2011年3月28日(月) 18:04
by へろりくしょん
これはちょっと、具体的なやり方と、どううまくいかないのか書いてくれないと返答は出来ないと思いますよ。

読み込みのやり方と言われても、fread() 関数等を利用しますとしか答えれませんし、やりかたをどう変えたらいいかと言われても、今現在どのようなやりかたをしているのかさっぱり分かりません。

文字列として取得したいということは、文面からは、unsigned char* 型のバッファにでも詰め込むという意味で解釈するのが一番しっくりきますが、これは常套手段ですのでこれでうまくいかないはずはない。 と答えるしかありません。

Re: ファイルの読み込み2

Posted: 2011年3月29日(火) 12:17
by fulls
皆さん回答ありがとうございます。
もう一度自力でやってみたいと思います。