簡略化

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

簡略化

#1

投稿記事 by たべものやさん » 12年前

画像をLoadgraphでロードするときに、1枚1枚ロードのコードを描くのが面倒です・・・

画像1枚が大きいのでLoaddivgraphでは無理です(出来はするかもしれないですが・・)

60枚使う画像があり、名前は「back_○○」となっています。(○○は数字が入る)

for文なり使い簡略化するサンプルコード、関数などを教えてください

DXライブラリとC言語でやっています。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 簡略化

#2

投稿記事 by softya(ソフト屋) » 12年前

C言語の標準ライブラリsprintf()は分かりますか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 簡略化

#3

投稿記事 by みけCAT » 12年前

入る数字がランダムなら、その数字をstatic constな配列に入れておいて処理すればいいです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: 簡略化

#4

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

softyaさんが仰っていることの答えになっちゃいますが、以下のコードをコンパイルしてみれば参考になるかと思います。

コード:

#include <stdio.h>

int main(){
	char str[32];
	for(int i=0; i<=100; i++){
		sprintf(str, "back_%03d.png", i);
		printf("%s\n", str);
	}
	return 0;
}
%03d
の0の部分は無い部分を0で埋めるという意味で、3は3桁であることを示します。

アバター
Dixq (管理人)
管理人
記事: 1662
登録日時: 15年前
住所: 北海道札幌市
連絡を取る:

Re: 簡略化

#5

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

ちなみにみけCAT君が言っているのは以下のようなコードですね。

コード:

#include <stdio.h>

const static char* str[] = {
	"back_012.png",
	"back_923.png",
	"back_152.png",
	"back_523.png",
	"back_243.png",
	"back_163.png",
};

int main(){
	for(int i=0; i<6; i++){
		printf("%s\n", str[i]);
	}
	return 0;
}

アバター
みけCAT
記事: 6734
登録日時: 15年前
住所: 千葉県
連絡を取る:

Re: 簡略化

#6

投稿記事 by みけCAT » 12年前

Dixq (管理人) さんが書きました:ちなみにみけCAT君が言っているのは以下のようなコードですね。

コード:

#include <stdio.h>

const static char* str[] = {
	"back_012.png",
	"back_923.png",
	"back_152.png",
	"back_523.png",
	"back_243.png",
	"back_163.png",
};

int main(){
	for(int i=0; i<6; i++){
		printf("%s\n", str[i]);
	}
	return 0;
}
私の意図は少し違います。

コード:

#include <stdio.h>

const static int imageNumber[] = {12,923,152,523,243,163};

int main(){
	char buf[32];
	for(int i=0; i<6; i++){
		sprintf(str, "back_%03d.png", imageNumber[i]);
		printf("%s\n", str);
	}
	return 0;
}
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

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