CSVファイルから2バイト文字を読み込む方法

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

CSVファイルから2バイト文字を読み込む方法

#1

投稿記事 by Via » 15年前

DXライブラリを使って、ゲームを作ろうと思っています。
こちらのサイトの11章で、csvファイルを作って敵の出現や動作の制御方法が解説されています。それと同様のことは出来るようになりました。
ただ、読み込むデータに2バイト文字が含まれている場合、FileRead_getc関数は使えないと思います。
csvファイルの1行が、文字列,数値,文字列,数値 のようになっている場合、どのように読み込ませたらよいでしょうか。

バグ

Re:CSVファイルから2バイト文字を読み込む方法

#2

投稿記事 by バグ » 15年前

CSVの読み込みならば、fscanf関数やstrtok関数などが便利だと思いますよ。

Dixq (管理人)

Re:CSVファイルから2バイト文字を読み込む方法

#3

投稿記事 by Dixq (管理人) » 15年前

FileRead_getcは使えますよ。何度もループして改行コードか終端が見つかるまで読み込めばいいです。
しかしそれならFileRead_getsの方が良いですけどね。
最後がsの関数は一行読み込んでくれます。
fgetcとfgetsみたいなものですね。

全角文字だろうと1バイト文字だろうとデータとしては変わらないので、1バイトずつ読み込んでも大丈夫です。
読み込み終わった後トークンで分割すればOKです。

バグさんのおっしゃるfscanfのDXライブラリ関数版はFileRead_scanfとして用意されています。
http://homepage2.nifty.com/natupaji/DxL ... tml#R19N10

DXライブラリのアーカイブを使わないならfscanfでよいですし、使うなら上記関数を使ってください。
fscanfはフォーマットが決まっているときにしか使えませんが、
決まっていないなら1行読み込んだ後、トークンで分割することになります。
strtokという関数を使うとトークン・・ここでいうカンマで分割出来ます。
使い方はこの辺に詳しく載っています。
http://www9.plala.or.jp/sgwr-t/lib/strtok.html

Via

Re:CSVファイルから2バイト文字を読み込む方法

#4

投稿記事 by Via » 15年前

お二方ともありがとうございます。
いろいろ試行錯誤した結果、strtok関数を使って目的を達することが出来ました。
出来てしまえばとても単純な仕組みでしたが、いろいろ試している最中はあれもこれもうまくいかなくて大変でした。
また詰まるところがあると思いますので、よろしくお願いします。

閉鎖

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