ページ 11

s2を試してみて、自分でも他のものを試してみよう・・・と思ったのですが・・・

Posted: 2010年8月27日(金) 07:02
by まー
初心者で、ここで勉強させてもらっているまーです。
ソフトはここで勧められているものを利用しています。
s2を試してみて、自分でも他のものを試してみよう・・・
と思ったのですが・・・

s2のサウンドノベル風のサンプルプログラムなんですが、
あれだと一行に文字がズラーっと広がっちゃいますよね?

でもサウンドノベルって、何文字か行けば改行するじゃないですか?

でもstrncpyって、どこまでをコピーするか・・・
しか表現できませんよね?

しかも\nや\rは使えない・・・
ifやswitchで場合わけして、strncpyを二つ用意して、それぞれ違う配列に格納したからといって、
1からコピーしてしまって同じ文章を表示しちゃう・・・


なにかいい方法ご存知ないでしょうか・・・

Re:s2を試してみて、自分でも他のものを試してみよう・・・と思ったのですが・・・

Posted: 2010年8月27日(金) 07:18
by へろりくしょん
今ひとつ言いたいことが解りません。

>s2を試してみて、自分でも他のものを試してみよう・・・

s2とはなんですか。


>ifやswitchで場合わけして、strncpyを二つ用意して、それぞれ違う配列に格納したからといって、
>1からコピーしてしまって同じ文章を表示しちゃう・・・

1からコピーしなければいいのでは? と思うわけですが、これは具体的なコードが無いと何とも言えません。

Re:s2を試してみて、自分でも他のものを試してみよう・・・と思ったのですが・・・

Posted: 2010年8月27日(金) 07:52
by Dixq (管理人)
s2とはゲームプログラミングの館のサンプルプログラム編の事だと思います。
例えば
char str1[128];
char str2[128];
のように2つ配列を用意しておき、元の文字列から1文字ずつstr1に入れていきます。
http://homepage2.nifty.com/natupaji/DxL ... html#R17N2
このような関数で特定の長さ以上になったかどうか調べ、
条件にマッチしたら、次からstr2に文字を入れていけばいいのではないでしょうか。

もしくは、1文字ずつ元の文字列をチェックし、自分で\nを見つけて改行する関数を作ってはどうでしょう。
\nを発見すると、次からstr2に入れるようにします。
こちらの方が簡単かもしれませんね。