CSVファイルの読み込みと表示

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

CSVファイルの読み込みと表示

#1

投稿記事 by Xipher » 14年前

C++初心者です、DXライブラリを利用してSTGを作成しています。
Microsoft Visual C++ 2010 Express を利用しています。

ボスとの戦闘開始前の会話シーンを作っています、その際に直接ソースコードを弄らずに会話文とキャラのグラフィックの表示を変更したい(プログラミングが出来ない協力者の為と管理のし易さから)のですが、CSVファイルの読み込みとその表示方法が分かりません。

問題点
CSVファイルの中身は

コード:

会話文,左側表示キャラ,右側表示キャラ,発言キャラ
こんにちは,0,10,0
おはよう,1,11,1
となっており、会話文は文章、他は数字で指定しようと思っています。(発言キャラは発言側をライトアップするだけですので、今回は関係ありません)
表示キャラのグラフィックは既にで読み込まれており、番号(0~9はキャラAとその差分、10~19はキャラBとその差分)を指定すれば表示出来るようにしています。

会話文を読み込んで指定座標の位置に表示する方法と表示キャラの数字をint型で格納する方法を知りたいのです。
長文になる可能性もあるので、改行を含めたCSVの読み込みの仕方も教えてほしいです。
CSVの会話文の中に入れる改行をさせる記号を入力する等のタグ(独自形式)は可能です、会話文内に/nと記入されていたらその時点で改行し、残りの文は一行下に表示する等。

少し別件ですが、ステージ進行度や使用キャラによって読み込むCSVファイルを変更したいのですが、そのやり方も教えていただけると助かります。
CSVの名前はトーク(ステージ番号)_(キャラ番号)としています。例talk1_2 はステージ2のキャラC 
ステージ番号(Stage_number)はステージをクリアした時点で+1とします、キャラ番号(chara_select)はキャラ選択画面で選択したキャラに依存します。

jay
記事: 314
登録日時: 15年前
住所: 大阪市
連絡を取る:

Re: CSVファイルの読み込みと表示

#2

投稿記事 by jay » 14年前

読み込むなら普通にfopenでファイルを開きFileRead_getcなどで文字を取得していけばいいと思います

この辺り参考になると思います
http://dixq.net/rp/11.html


文章に改行を入れる方法ですが
プログラム上の文字列の改行文字には'¥n'が割り振られています。
(何故か上手く表示してくれていないので全角にしていますが¥は本来半角です)

恐らくCSVの方でこれを適用させる方法はないと思われるので、僕のやり方を紹介しますね
1、CSVの方で改行させる場所に@を入れます
2、文字列を読み込むとき、@を読み込んだら改行文字に変換します

これで結果として任意の場所で改行させられると思います。
♪僕たちは まだ森の中 抜け出そう 陽のあたる場所へ

Xipher

Re: CSVファイルの読み込みと表示

#3

投稿記事 by Xipher » 14年前

1、CSVの方で改行させる場所に@を入れます
2、文字列を読み込むとき、@を読み込んだら改行文字に変換します
ということは、if関数か何かで@を読み込んだら¥nとしろ というふうに供述すればよろしいのでしょうか?

後、読み込んだ会話文を表示する方法が分かりません、char型で定義しているのですが、 DrawStringを使うと'char' から 'const TCHAR *' に変換できません。と言われてしまいビルドすることが出来ません。
CSVから読み込んだ文字列を入れたいのですが、どうしたらよいでしょうか?

DrawString(70,485,(会話内容), White );

のようにしています。

Xipher

Re: CSVファイルの読み込みと表示

#4

投稿記事 by Xipher » 14年前

質問掲示板を検索して、色々なところを回ったところ、支館に詳しく書いてあり、自己解決できそうです。
考えてくれた方ありがとうございました。

閉鎖

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