txtファイルからデータを格納したい
Posted: 2014年3月05日(水) 20:45
「001-G_Water01,0,4」という文が18行並んでいるtxtファイルから文を読み込み、「001-G_Water01」という半角英数字で構成された文字列のデータと「0」「4」という数値のデータを変数に格納したいと思い、龍神録の講座の内容を参考に下記のような記述を組んで3種類のデータを読み込み表示させたところ、読み込んだ数値のデータに異常は無かったのですが文字列のデータが変な風に格納されてしまったらしく、文字化けしてしまいました。
一体何故読み込んだ文字列は破損してしまったのでしょうか?どうしたら正常に読み込むことができるのでしょうか?どなたかよろしくお願いします。
記述
一体何故読み込んだ文字列は破損してしまったのでしょうか?どうしたら正常に読み込むことができるのでしょうか?どなたかよろしくお願いします。
記述
#include "DxLib.h"
#include "TileDataFrame.h"
struct ATileData{
int pics[4][48];//
int pri;//
int pat;//
};
struct ATileData ATile[18];
void ATile_ini(){
int file,i,n=0,m=0,ed=0;
int text[32];
char textc[32];
file = FileRead_open( "./Project/Data/Txt/ATileData.txt" ) ;
if(file==NULL){printfDx("read error\n");return;}
while(1){
for(i=0;i<32;i++){
text[i] = FileRead_getc(file);
textc[i] = text[i];
if(text[i]==',' || text[i]=='\n'){textc[i]='\0';break;}
if(text[i]==EOF){ed=1;break;}
}
if(ed==1){FileRead_close(file);break;}
switch(m){
case 0:
for(i=0;i<32;i++){
ATile[n].name[i]= textc[i];
}break;
case 1: ATile[n].pri = atoi(textc);break;
case 2: ATile[n].pat = atoi(textc);break;
}
m++;
if(m==3){m=0;n++;}
}
}
int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
ChangeWindowMode(TRUE); // ウィンドウモードに設定
DxLib_Init(); // DXライブラリ初期化処理
int i;
ATile_ini();
for(i=0;i<18;i++){
DrawFormatString( 0, i*20, GetColor(255,255,255), "[%c,%d,%d]",ATile[i].name, ATile[i].pri, ATile[i].pat);
}
WaitKey(); // キー入力待ち
DxLib_End(); // DXライブラリ終了処理
return 0;
}