龍神録におけるプログラミングの質問です。
HP:http://sinkai.net/rp/19.phpで紹介されているサウンドノベルシステムにおいてです。
このサンプルプログラミングで、エクセルでcsvファイルを作成し、コンパイルするといたるところで、
error C2137: 空の文字定数
といわれてしまい、コンパイルエラーになってしまいました。
このエラーを解決するため、本文の空文字''の部分を' 'として空欄を指定してコンパイルしたところ、今度はうまくコンパイルできました。
ところが、今度は、デバック中に、サウンドノベルシステムが正常に動作しません。
具体的にこんな感じです
※csvファイルで以下のように作成
A B C D E
プレイヤー1 0 0 0 テスト1C
プレイヤー2 1 0 0 テスト2C
プレイヤー2 1 0 0 テスト3C
プレイヤー1 0 0 0 テスト4C
プレイヤー1 0 0 0 テスト5C
プレイヤー2 1 0 0 テスト6C
プレイヤー2 1 0 0 テスト7C
プレイヤー1 0 0 0 テスト8C
実行結果
プレイヤー1
テスト1C
テスト2C
テスト3C
・
・
・
(しばらくして終了)
説明:
サウンドノベルシステムのプログラムになると、csvファイルで読み込んだ文字が一挙に出てしまうという現象が発生する。
この問題に対する解決策を教えていただけないでしょうか?
具体的な実行結果があればもっとわかりやすく質問できたと思うのですが、よろしくお願いします。
サウンドノベルシステムについての質問
Re:サウンドノベルシステムについての質問
空の文字定数など探しても見つかりませんでした。
''の部分の書き方が変になっているのか、私もちゃんと表示されません。
これが原因ではないでしょうか。
管理人さんの対応を待った方が良いかと思います。
''の部分の書き方が変になっているのか、私もちゃんと表示されません。
これが原因ではないでしょうか。
管理人さんの対応を待った方が良いかと思います。
Re:サウンドノベルシステムについての質問
[color=gray>
>サウンドノベルシステムが正常に動作しません。
csvファイル中の , という文字を区切りとしているため
変更すると正常に動作しないでしょうね。
',' は数値に直すと 44、16真数で 0x2c ですので
全ての ',' の部分を数値に置き換えてみましょう。
[/color]
>サウンドノベルシステムが正常に動作しません。
csvファイル中の , という文字を区切りとしているため
変更すると正常に動作しないでしょうね。
',' は数値に直すと 44、16真数で 0x2c ですので
全ての ',' の部分を数値に置き換えてみましょう。
[/color]
Re:サウンドノベルシステムについての質問
[color=gray>
例
例
/* 名前の取得 */ for( x=0 ; x < 50 ; x++ ){ story[y].name[x] = FileRead_getc( load_data ) ; //文字列を抜き出す if( story[y].name[x] == 0x2c ){ //「:」までループ story[y].name[x] = '' ; break ; } }[/color]
Re:サウンドノベルシステムについての質問
例
/* 名前の取得 */ for( x=0 ; x < 50 ; x++ ){ story[y].name[x] = FileRead_getc( load_data ) ; //文字列を抜き出す if( story[y].name[x] == ',' ){ //「:」までループ story[y].name[x] = [color=red>'\0'[/color] ; break ; } }[color=red>空文字のところは全てNULL文字に。[/color]
Re:サウンドノベルシステムについての質問
とりあえず、空文字はそこだけではないので、私も見てますが、よく分からない所があるので
素直にちゃんとした答えを持っている管理人さんを待った方が あ、サイトが違うんですねこれ。
支援サイトみたいなので、ここの管理人さんが作ってない記事について質問したのはマズかったかもしれません。
サイトが運営している掲示板で質問をして、答えをもらった方が良いんじゃないでしょうか。
ttp://sinkai.net/php/bbs/ マルチポスト?になるのかな? ←で記事を作ったら相互リンクを。
一応掲示板のリンクにこちらにも貼られているみたいですが、記事を作ったのはここではないので。
素直にちゃんとした答えを持っている管理人さんを待った方が あ、サイトが違うんですねこれ。
支援サイトみたいなので、ここの管理人さんが作ってない記事について質問したのはマズかったかもしれません。
サイトが運営している掲示板で質問をして、答えをもらった方が良いんじゃないでしょうか。
ttp://sinkai.net/php/bbs/ マルチポスト?になるのかな? ←で記事を作ったら相互リンクを。
一応掲示板のリンクにこちらにも貼られているみたいですが、記事を作ったのはここではないので。
Re:サウンドノベルシステムについての質問
>私も見てますが、よく分からない所があるので
↑は別件?として置いておいて、
全ての空文字をNULL文字にする意味は理解できていますか?
配列に格納された文字はそれだけではアスキーコードの塊でしかなく
文字列として正しく扱うことができません。
ですのでcsvデータを読み込み、
データの区切りである "," を見つけたら
文字データを格納した配列に '\0' を与え
文字列として完成させている訳です。
エラーが出るのは VCコンパイラが '' をNULL文字として
認識していない事が原因です。
↑は別件?として置いておいて、
全ての空文字をNULL文字にする意味は理解できていますか?
配列に格納された文字はそれだけではアスキーコードの塊でしかなく
文字列として正しく扱うことができません。
ですのでcsvデータを読み込み、
データの区切りである "," を見つけたら
文字データを格納した配列に '\0' を与え
文字列として完成させている訳です。
エラーが出るのは VCコンパイラが '' をNULL文字として
認識していない事が原因です。
Re:サウンドノベルシステムについての質問
確かにアスキーコードの塊というのは誤りですね。
うっかりしていました申し訳ない。
私が言いたいのは配列に格納した場合、
文字データだけでは文字列として
正しく扱うことができないと言うことですので。
うっかりしていました申し訳ない。
私が言いたいのは配列に格納した場合、
文字データだけでは文字列として
正しく扱うことができないと言うことですので。