プロが教えるわが家の防犯対策術!

c言語初心者です。
物語を登場人物をA、B、C…と仮定しているのですが、読者にイメージしてもらいやすい様に入力した名前でABCを書き換えて物語を表示させることは可能ですか?スキャンF関数などを使うことはなんとなくわかるのですが自分の思いつきでソースを書くのは初めてなので詳しい方教えて下さい!

A 回答 (2件)

可能かどうか、なら可能です。


実際にRPGで主人公の名前入力したりしますよね?


まずは、C言語ということは考えずに、やり方を考えましょう。
scanfを使う、とかを最初に決めてしまうと、それに囚われて肝心の「本来やるべきこと」に辿りつけなくなります。
日本語で考えましょう。

1.文字列を入力する
2. 1.を「名前」として記憶する
3.文章の一部を、別に用意した文字列に置き換える
 ※ 「別に用意した文字列」とは、2.の「名前」のこと
4. 3.の結果を出力する

こんな感じでしょうか。
そこから更にそれぞれを細かく決めていきます。

例えば
1. 「キーボード」から入力
2. char nameA[] に保存
3. printf の %s を使って置き換え
4. printf で「画面」に出力

ここまでやって

char nameA[256];
scanf("%s",nameA) ;
printf("私は%sだ。", nameA) ;

とプログラムになります。


ただ、上記の例では、人数と文章が少し増えただけで破綻します。
別の方法を考える必要があります。
ただ、Cが標準で用意している機能は、それほど多くありません。
既存のものを組合せて自作する必要があるでしょう。
(あるいは、誰かが「自作」したライブラリを使わせていただくか)
    • good
    • 0

追記:


> 3.文章の一部を、別に用意した文字列に置き換える

これは「テンプレートエンジン」と呼ばれるものです。
https://ja.wikipedia.org/wiki/%E3%83%86%E3%83%B3 …

あなたがやろうとしていることは
・自分でテンプレートエンジンを作る。
あるいは
・誰かが作ったテンプレートエンジンを自作プログラムに組込む
となります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!