DXライブラリを使って、ゲームを作ろうと思っています。
こちらのサイトの11章で、csvファイルを作って敵の出現や動作の制御方法が解説されています。それと同様のことは出来るようになりました。
ただ、読み込むデータに2バイト文字が含まれている場合、FileRead_getc関数は使えないと思います。
csvファイルの1行が、文字列,数値,文字列,数値 のようになっている場合、どのように読み込ませたらよいでしょうか。
CSVファイルから2バイト文字を読み込む方法
Re:CSVファイルから2バイト文字を読み込む方法
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
しかしそれなら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
Re:CSVファイルから2バイト文字を読み込む方法
お二方ともありがとうございます。
いろいろ試行錯誤した結果、strtok関数を使って目的を達することが出来ました。
出来てしまえばとても単純な仕組みでしたが、いろいろ試している最中はあれもこれもうまくいかなくて大変でした。
また詰まるところがあると思いますので、よろしくお願いします。
いろいろ試行錯誤した結果、strtok関数を使って目的を達することが出来ました。
出来てしまえばとても単純な仕組みでしたが、いろいろ試している最中はあれもこれもうまくいかなくて大変でした。
また詰まるところがあると思いますので、よろしくお願いします。