ポーカーを作っている際に分からないことがあったので、質問させてください
僕はポーカーゲームの中にメッセージ画面を実装しようと考えています
そこでメッセージ文をcsvファイルを使って読み込もうと思っています
たとえば、csvファイルの2行1列目に「%sが親です」、2行2列目に「Name」と書かれていたとします
そこで質問なのですが、文字列定数"Name"でなく 文字列"Player"を格納したChar型の変数として読み込むにはどうしたら良いでしょうか。
別の言い方をすると、Message.elem1に文字列"Player"を渡してあげるにはどうすればよいでしょうか
蛇足ですが、elem1 ~ elem4という変数は説明をするために用意したものなので、char型変数を代入できないぞといった点は無視してください
char Name[80] = "Player";
typedef struct{
char str[80];//メッセージ本文
int elem1;//本文中の%s,や%dに入る変数
int elem2;
int elem3;
int elem4;
}Message_t;
Message_t Message[100];
//csvファイルの読み込み
void file_load(){
int i = -1;//ファイルの列
int j;//ファイルの行
int FileHandle;
char filePath[80] ="../dat/dat.csv";
char* tp;
char String[256] = {'\0'};
FileHandle = FileRead_open(filePath);
//ファイルを読み込めなかったら
if(FileHandle == NULL){
printfDx("ファイル読み込みに失敗\n");
return;
}
while(FileRead_eof(FileHandle) == 0){//ファイルの終端でなければ
//ファイルを一行読み込む
FileRead_gets(String,256 , FileHandle);
//最初の一行は読み飛ばす
if(i == -1){
i++;
continue;
}
//最初の列は読み込まない
tp = strtok(String,",/");
j = 0;
while(*tp != '/'){//一行の終端でなければ
tp = strtok(NULL,",");
switch(j){
case 0:
strcpy(Message[i].str , tp);//一列目のメッセージを読み込む(文字列「%sが親です」が入る)
break;
case 1:
Message[i].elem1= atoi(tp);//ここに文字列"Player"が格納された変数Nameを渡したい
break;
case 2:
Message[i].elem2= atoi(tp);
break;
case 3:
Message[i].elem3 = atoi(tp);
break;
case 4:
Message[i].elem4 = atoi(tp);
break;
default: break;
}
j++;
}
i++;
}
FileRead_close(FileHandle);
return;
}