csv(txt)ファイルから読み込んだ文字の描画
Posted: 2013年6月29日(土) 23:18
龍神録からコピペして所々変えただけです(load_storyなど関数名はあまり気にしないでください)
全て同じファイルに書いているわけではありません(点線内は同じファイル)
大雑把に書きました。
上のコードで、訊きたいことは、ファイル(文字)読み込み&格納はできているか・・・・()
もし、textファイルで100行あったとすると、このやり方はスマートであるか?
グラフ(描画)はあまり気にしないでください
思いつき(少し前のトピックの続きなのですが・・)でDXライブラリもインクルードされてないcppファイルにまとめて書いたので実行はしていません・・・
実行してないのに質問とは変ですが、ご教授お願いします。
全て同じファイルに書いているわけではありません(点線内は同じファイル)
//-----------------------------------------
typedef struct
{
char *st;
}String;
//------------------------------------
String str;
//-----------------------------------
#define MAX_STR 8//今のところは8行なので・・(コメント文は除く)
//----------------------------------------------------------------------------
memset(str , 0 , sizeof(String)*MAX_STR);//初期化
//--------------------------------------------------------------------------
void load_story(){
int n,num,i,fp;
char fname[256]={"上のテキストファイル"};
int input[256];
char inputc[256];
fp = FileRead_open(fname);//ファイル読み込み
if(fp == NULL){
printfDx("read error\n");
return;
}
/* for(i=0;i<2;i++)//最初の2行読み飛ばす
while(FileRead_getc(fp)!='\n');*/
n=0 ;
while(1){
for(i=0;i<256;i++){
inputc[i]=input[i]=FileRead_getc(fp);//1文字取得する
if(inputc[i]=='/'){//スラッシュがあれば
while(FileRead_getc(fp)!='\n');//改行までループ
i=-1;//カウンタを最初に戻して
continue;
}
if(input[i]==',' || input[i]=='\n'){//カンマか改行なら
inputc[i]='\0';//そこまでを文字列とし
break;
}
if(input[i]==EOF){//ファイルの終わりなら
goto EXFILE;//終了
}
}
srt[n].st = inputc;//文章1のポインタに「,」まで読み込んだ文章を格納
n++;//コメントを除いて8行
}
}
EXFILE:
FileRead_close(fp);
}
//-----------------------------------------------------------------------------------------------------------------------------
//グラフ
void str_graph()
{
int i ;
int col = GetColor(255 , 255 , 255);//色
for(i=0 ; i < MAX_STR ; i++)
{
DrawString(100 , 30+(50*i) , str[i].st , col);
}
}上のコードで、訊きたいことは、ファイル(文字)読み込み&格納はできているか・・・・()
もし、textファイルで100行あったとすると、このやり方はスマートであるか?
グラフ(描画)はあまり気にしないでください
思いつき(少し前のトピックの続きなのですが・・)でDXライブラリもインクルードされてないcppファイルにまとめて書いたので実行はしていません・・・
実行してないのに質問とは変ですが、ご教授お願いします。