トップページ > 過去ログ > 記事閲覧
設定ファイルの読込み
名前:Nike 日時: 2007/12/22 21:16

連続での質問申し訳ありません。 CSVについては無事解決することができたのですが、 今度は設定ファイル(ex:setting.txt)からデータを読み込もうと思うのですが、 たとえばsetting.txt内に直接「GameVersion = 100」と書き込んでおき それを読み込んで「int GameVersion」にいれたいです。 この場合はどのような手段を使うのが一般的でしょうか?

Page: 1 |

Re: 設定ファイルの読込み ( No.1 )
名前:TNT 日時:2007/12/23 18:27

流れとしては ・1行読み込む ・区切り文字で分割 ・パラメタ名で分岐して、値を代入 の繰り返しがよろしいかと。 CSVファイルに関しても同様なのですが、テキストファイルを読み込むために 自分でsplit系の関数を作っておくと便利ですよ。 例えば自分の場合ですと、 separate(*strfrom, *separator, *str1, *str2); というような関数を作って、文字列を切り出しています。 元の文字列strfromをseparatorで切った時に、左側をstr1、右側をstr2に格納するようにしています。 これをNikeさんの例に当てはめると、 ・fgetsでファイルから1行読む ・セパレータ「 = 」で区切る ・str1をstrcmpで調べて分岐(strcmp(str1, "ラベル名")が0を返せば一致) ・str2を数値に変換して代入(GameVersion = atoi(str2)) fgets(buf, 1024, fp); separate(buf, " = ", str1, str2); if(!strcmp(str1, "GameVersion")) GameVersion = atoi(str2); ただ、txtファイルに何が書き込まれてもいいように、例外処理はきちんとしておいた方が良いかと思います。

Page: 1 |