#include <cstdio>
#include <cstring>
#define GLOBAL
//GV.h
GLOBAL int message_cnt;//何個メッセージが書かれたかの最大値を見る
GLOBAL int message_graph_cnt;//メッセージを1から順に表示する
GLOBAL int message_rest_flag;//メッセージが2つ以上残っていたら移動させない
GLOBAL int pre_icon[1024];
GLOBAL char pre_id[1024][255];//pre_id[配列数][文字数]
GLOBAL char pre_message[3][1024][255];//pre_message[行目][配列数][文字数]
//message.cpp
//プロジェクト中のあちこちからメッセージを受け取る関数。1ターンに複数のメッセージを受け取ることもあるので、
//それを処理する。(敵を倒し、レベルが上がれば、「~に~ダメージ」「~をたおした」「レベルがあがった」の三つ)
void message_add(int icon,char id[],char message[]){//アイコンの画像番号、名前、メッセージ
char *tp;
int i=0;
message_cnt++;
pre_icon[message_cnt]=icon;
strncpy(pre_id[message_cnt],id,255);
tp = strtok( message, "@" );/*↓おそらくここから問題の場所*/
strncpy(pre_message[0][message_cnt],tp,255);
while ( tp != NULL ) {
i++;
tp = strtok( NULL,"@" );
if ( tp != NULL ) strncpy(pre_message[i][message_cnt],tp,255);
}
}
int main(void) {
char id[255]="namari(namari)";
message_add(0,id,"なんという偽物・・・@ちょっとだけ回復");
printf("pre_icon = %d\n",pre_icon[1]);
printf("pre_id = %s\n",pre_id[1]);
printf("pre_message[0] = %s\n",pre_message[0][1]);
printf("pre_message[1] = %s\n",pre_message[1][1]);
printf("pre_message[2] = %s\n",pre_message[2][1]);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdHJpbmc+CgojZGVmaW5lIEdMT0JBTAoKLy9HVi5oCkdMT0JBTCBpbnQgbWVzc2FnZV9jbnQ7Ly/kvZXlgIvjg6Hjg4Pjgrvjg7zjgrjjgYzmm7jjgYvjgozjgZ/jgYvjga7mnIDlpKflgKTjgpLopovjgosKR0xPQkFMIGludCBtZXNzYWdlX2dyYXBoX2NudDsvL+ODoeODg+OCu+ODvOOCuOOCkjHjgYvjgonpoIbjgavooajnpLrjgZnjgosKR0xPQkFMIGludCBtZXNzYWdlX3Jlc3RfZmxhZzsvL+ODoeODg+OCu+ODvOOCuOOBjDLjgaTku6XkuIrmrovjgaPjgabjgYTjgZ/jgonnp7vli5XjgZXjgZvjgarjgYQKR0xPQkFMIGludCBwcmVfaWNvblsxMDI0XTsKR0xPQkFMIGNoYXIgcHJlX2lkWzEwMjRdWzI1NV07Ly9wcmVfaWRb6YWN5YiX5pWwXVvmloflrZfmlbBdCkdMT0JBTCBjaGFyIHByZV9tZXNzYWdlWzNdWzEwMjRdWzI1NV07Ly9wcmVfbWVzc2FnZVvooYznm65dW+mFjeWIl+aVsF1b5paH5a2X5pWwXQogCiAKLy9tZXNzYWdlLmNwcAogCi8v44OX44Ot44K444Kn44Kv44OI5Lit44Gu44GC44Gh44GT44Gh44GL44KJ44Oh44OD44K744O844K444KS5Y+X44GR5Y+W44KL6Zai5pWw44CCMeOCv+ODvOODs+OBq+ikh+aVsOOBruODoeODg+OCu+ODvOOCuOOCkuWPl+OBkeWPluOCi+OBk+OBqOOCguOBguOCi+OBruOBp+OAgQovL+OBneOCjOOCkuWHpueQhuOBmeOCi+OAgu+8iOaVteOCkuWAkuOBl+OAgeODrOODmeODq+OBjOS4iuOBjOOCjOOBsOOAgeOAjO+9nuOBq++9nuODgOODoeODvOOCuOOAjeOAjO+9nuOCkuOBn+OBiuOBl+OBn+OAjeOAjOODrOODmeODq+OBjOOBguOBjOOBo+OBn+OAjeOBruS4ieOBpO+8iQp2b2lkIG1lc3NhZ2VfYWRkKGludCBpY29uLGNoYXIgaWRbXSxjaGFyIG1lc3NhZ2VbXSl7Ly/jgqLjgqTjgrPjg7Pjga7nlLvlg4/nlarlj7fjgIHlkI3liY3jgIHjg6Hjg4Pjgrvjg7zjgrgKICAgICAgICBjaGFyICp0cDsKICAgICAgICBpbnQgaT0wOwogICAgICAgIG1lc3NhZ2VfY250Kys7CiAgICAgICAgcHJlX2ljb25bbWVzc2FnZV9jbnRdPWljb247CiAgICAgICAgc3RybmNweShwcmVfaWRbbWVzc2FnZV9jbnRdLGlkLDI1NSk7CiAgICAgICAgdHAgPSBzdHJ0b2soIG1lc3NhZ2UsICJAIiApOy8q4oaT44GK44Gd44KJ44GP44GT44GT44GL44KJ5ZWP6aGM44Gu5aC05omAKi8KICAgICAgICBzdHJuY3B5KHByZV9tZXNzYWdlWzBdW21lc3NhZ2VfY250XSx0cCwyNTUpOwogICAgICAgIHdoaWxlICggdHAgIT0gTlVMTCApIHsKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgIHRwID0gc3RydG9rKCBOVUxMLCJAIiApOwogICAgICAgICAgICAgICAgaWYgKCB0cCAhPSBOVUxMICkgc3RybmNweShwcmVfbWVzc2FnZVtpXVttZXNzYWdlX2NudF0sdHAsMjU1KTsKICAgICAgICB9Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIGNoYXIgaWRbMjU1XT0ibmFtYXJpKG5hbWFyaSkiOwogICAgbWVzc2FnZV9hZGQoMCxpZCwi44Gq44KT44Go44GE44GG5YG954mp44O744O744O7QOOBoeOCh+OBo+OBqOOBoOOBkeWbnuW+qSIpOwogICAgcHJpbnRmKCJwcmVfaWNvbiA9ICVkXG4iLHByZV9pY29uWzFdKTsKICAgIHByaW50ZigicHJlX2lkID0gJXNcbiIscHJlX2lkWzFdKTsKICAgIHByaW50ZigicHJlX21lc3NhZ2VbMF0gPSAlc1xuIixwcmVfbWVzc2FnZVswXVsxXSk7CiAgICBwcmludGYoInByZV9tZXNzYWdlWzFdID0gJXNcbiIscHJlX21lc3NhZ2VbMV1bMV0pOwogICAgcHJpbnRmKCJwcmVfbWVzc2FnZVsyXSA9ICVzXG4iLHByZV9tZXNzYWdlWzJdWzFdKTsKICAgIHJldHVybiAwOwp9