読み込みで困ってます

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
菊麻呂

読み込みで困ってます

#1

投稿記事 by 菊麻呂 » 15年前

GrHandle[0] = LoadGraph( "test0.bmp" ) ;
GrHandle[1] = LoadGraph( "test1.bmp" ) ;
GrHandle[2] = LoadGraph( "test2.bmp" ) ;
GrHandle[3] = LoadGraph( "test3.bmp" ) ;

のように三つか四つくらいなら配列ハンドルに簡単にロードできるんですが
たとえばtest0.bmpからtest100.bmpまでファイルがあったとします
この場合、簡単に読み込める方法ってありますか?
DXライブラリについてです。
よろしくお願いします。

たかぎ

Re:読み込みで困ってます

#2

投稿記事 by たかぎ » 15年前

for (int i = 0; i <= 100; i++)
{
  std::ostrstream oss;
  oss << "test" << i << ".bmp";
  GrHandle = LoadGraph(oss.str().c_str());
}

でどうでしょう?

菊麻呂

Re:読み込みで困ってます

#3

投稿記事 by 菊麻呂 » 15年前

ありがとうございます。
でもできればCにしてくれませんか?
C++はあまり詳しくないんで・・・

たかぎ

Re:読み込みで困ってます

#4

投稿記事 by たかぎ » 15年前

> でもできればCにしてくれませんか?
> C++はあまり詳しくないんで・・・

DXライブラリはC++でなければコンパイルできませんよ。

たかぎ

Re:読み込みで困ってます

#5

投稿記事 by たかぎ » 15年前

Cの流儀でいくなら...
for (i = 0; i <= 100; i++)
{
  char s[sizeof("test100.bmp")];
  sprintf(s, "test%d.bmp", i);
  GrHandle = LoadGraph(s) ; 
}

になります。
このまま使うなら問題ありませんが、加工するならsprintfの問題等には十分配慮してください。

softya

Re:読み込みで困ってます

#6

投稿記事 by softya » 15年前

ファイル名がシーケンシャルなら、forループで回しながらsprintfで名前を合成して読み込めますね。

char fname[100];
for( int i=0 ; i<=100 ; i++ ) {
sprintf( fname, "test%d.bmp", i );
GrHandle = LoadGraph( fname ) ;
}

菊麻呂

Re:読み込みで困ってます

#7

投稿記事 by 菊麻呂 » 15年前

え、でも明らかに私はCで書いてますけど・・・
詳しくなくてすいません。
上の記述をそのまま貼り付ければ動くのかな?

たかぎ

Re:読み込みで困ってます

#8

投稿記事 by たかぎ » 15年前

> え、でも明らかに私はCで書いてますけど・・・

もしかして、C#用のDLLを使っているとか?

菊麻呂

Re:読み込みで困ってます

#9

投稿記事 by 菊麻呂 » 15年前

答えてくれた方々ありがとうございます。
一応これでやってみます。

softya

Re:読み込みで困ってます

#10

投稿記事 by softya » 15年前

>>菊麻呂さんへ

たかぎさんは、いじわるで書いている訳ではないですよ。
今度からC言語でお願いしますと書いて下さいね。

菊麻呂

Re:読み込みで困ってます

#11

投稿記事 by 菊麻呂 » 15年前

>もしかして、C#用のDLLを使っているとか?
正直詳しいことはよくわかりませんが、
このサイトのようにC言語で打ち込んでいます。

Dixq (管理人)

Re:読み込みで困ってます

#12

投稿記事 by Dixq (管理人) » 15年前

>> 菊麻呂さん

こんにちは。
C++っていうのはCのバージョンアップ版とでもいう感じのものなんですね。
C++のコンパイラでは(基本的に)C言語で書いたものも同じようにコンパイル出来ます。

ですから、同じプロジェクト内で
C++を使ったりCを使ったりすることが出来るわけです。
DXライブラリ自体はC++で出来ているのですが
「Cライクに使えるC++ライブラリ」という位置づけなので、
Cで書けるのです。

ですから、「C++を勉強したいけどすぐには・・」という場合は
C++のおいしい機能だけ勉強しながら徐々に自分のプログラムに混ぜて変えていくなんてこともできます^^

菊麻呂

Re:読み込みで困ってます

#13

投稿記事 by 菊麻呂 » 15年前

DXライブラリ自体はC++でできていて
私の使ってるVC++2008EEのコンパイラもC++までコンパイルできる。
よってDXライブラリを使ってC++でもCでもソースは同様にかける。
こんな様に理解しました。
これでいいんですかね?
ありがとうございました。

Dixq (管理人)

Re:読み込みで困ってます

#14

投稿記事 by Dixq (管理人) » 15年前

そう言うことですね。

ただ100枚もロードすると使用メモリ量がすごいことにならないでしょうか・・。
まぁ読み込む画像にもよりますが、マップチップ的な物なら
画像を一枚にして

http://homepage2.nifty.com/natupaji/DxL ... .html#R3N3

こういう関数を使った方がシンプルになりそうです。

たかぎ

Re:読み込みで困ってます

#15

投稿記事 by たかぎ » 15年前

CとC++は完全な互換性があるわけではありません。
自分が何というプログラミング言語を使っているかぐらいは正確に把握してください。

閉鎖

“C言語何でも質問掲示板” へ戻る