ページ 11

LoadGraphで連番ファイルを読み込み。

Posted: 2010年3月15日(月) 20:49
by せいせい
お世話になっております。
せいせいと申します。

実は今画像ファイルを連番の名前をつけて整理しています。
(例:A_000.jpg,A_001.jpg … )

これをfor文を使って連番ファイルを読み込むために

for( i = 0 ; i < 256 ; i++ )
LoadGraph( "A_" + i + ".jpg" );

とやってみてもダメでした。
おそらく私が単純に書き方をしらないだけなのだと思います。
もしよろしければ、どのようにすれば多くの画像ファイルを
まとめて読み込むことができるかを、ご教授いただければ幸いです。

Re:LoadGraphで連番ファイルを読み込み。

Posted: 2010年3月15日(月) 20:59
by Justy
 LoadGraphに渡す文字列を毎回 sprintfで組み立ててはどうでしょう?

C言語何でも質問掲示板
http://www.play21.jp/board/formz.cgi?ac ... &rln=15813

Re:LoadGraphで連番ファイルを読み込み。

Posted: 2010年3月16日(火) 10:52
by せいせい
お世話になっております。

ちなみに私は連番ファイルに0番目のファイルをA_00.jpg
そして10番目のファイルをA_10.jpgとしております。

このばあい
for( i = 0 ; i < 64 ; i++ )
{
sprintf( s , "A_%d.jpg", i);
Image = LoadGraph(s) ;
}
とすると、iが2桁の時は問題ないのですが、一桁の場合、十の位の"0"がないためエラーとなってしまいます。
この場合、桁数によって以下のように場合分けしなくてはならないでしょうか?
for( i = 0 ; i < 64 ; i++ ){
  if( i < 10 )
    sprintf( s , "A_0%d.jpg", i);
  else
    sprintf( s , "A_%d.jpg", i);
  Image = LoadGraph(s) ;
}

何かうまい方法がございましたら、ご教授いただければ幸いです。
よろしくお願いいたします。

Re:LoadGraphで連番ファイルを読み込み。

Posted: 2010年3月16日(火) 11:03
by fatens
%02dで少なくとも2桁0埋めで出力できます。

Re:LoadGraphで連番ファイルを読み込み。

Posted: 2010年3月16日(火) 11:03
by たいちう
printf系の書式を覚えましょう。

sprintf( s , "A_%02d.jpg", i);

Re:LoadGraphで連番ファイルを読み込み。

Posted: 2010年3月16日(火) 11:46
by せいせい
fatensさん、たいちうさん
ご対応いただきありがとうございました。

これにて解決とさせていただきます。