音声データの読み込み

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
kinder
記事: 11
登録日時: 12年前
住所: 大阪

音声データの読み込み

#1

投稿記事 by kinder » 12年前

こんばんは。
media\\sound\\voice\\にあるCH00VO00~CH00VO20までの音声データをロードしたいのですが、
アクセス違反が起こってしまいます。どうすればいいでしょうか・・。

コード:

for(int i=0;i<21;i++){
	char *string = "media\\sound\\voice\\CH00VO";
	strcat(string, (char*)i);
	strcat(string,".wav");
	CH00VO[i]= LoadSoundMem(string);
}
KINDER

アバター
h2so5
副管理人
記事: 2212
登録日時: 14年前
住所: 東京
連絡を取る:

Re: 音声データの読み込み

#2

投稿記事 by h2so5 » 12年前

strcatの使い方がおかしいですね。
snprintfを使ったほうが簡単だと思います。

コード:

for(int i=0;i<21;i++){
	const char *common_path = "media\\sound\\voice\\CH00VO";
	char string[256];
	snprintf(string, sizeof(string), "%s%02d.wav", common_path, i);
	CH00VO[i]= LoadSoundMem(string);
}

kinder
記事: 11
登録日時: 12年前
住所: 大阪

Re: 音声データの読み込み

#3

投稿記事 by kinder » 12年前

返信ありがとうございます。

書いていただいたコードでやってみたら、下記のログ?が出たのですがアクセス違反はでなくなり、プログラムも実行されました。
このログは無視で良いのでしょうか・・

warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
'_snprintf' の宣言を確認してください。
KINDER

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

Re: 音声データの読み込み

#4

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

多分wsprintfを使えば大丈夫ではないでしょうか?

コード:

wsprintf(string, "%s%02d.wav", common_path, i);
無視でもいいです。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

kinder
記事: 11
登録日時: 12年前
住所: 大阪

Re: 音声データの読み込み

#5

投稿記事 by kinder » 12年前

wsprintf(string, "%s%02d.wav", common_path, i);
を使ったら何の問題も無くできました!
お二人ともありがとうございました!

コード:

for(int i=0;i<21;i++){
	const char *common_path = "media\\sound\\voice\\CH00VO";
	char string[256];
	wsprintf(string, "%s%02d.wav", common_path, i);
	CH00VO[i]= LoadSoundMem(string);
}
KINDER

閉鎖

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