※ ChatGPTを利用し、要約された質問です(原文:配列をstrtokする方法)
配列をstrtokする方法
いつもお世話になってます。
標題についてやり方を教えて頂けないでしょうか。
要件としては文字列["test1|on+test2|off"]を
1回目は + で分割し、二回目は | で分割した配列作りたいです。
自分の書いたコードはですが、当たってるががわかりません。
typedef struct test{
hoge[200];
} test_1
test_1.= "test1|on+test2|off";
test_ary[200];
tmp_ary[200];
ret_key[];
ret_val;
*p;
strcpy(test_ary, test_1);
// 一回目
p = strtok(test_ary, "+");
tmp_ary[0] = *p;
int i = 1;
do{
p = strtok(NULL, "+");
tmp_ary[i] = *p;
i++;
} while(p);
// 二回目
for (i=0; i<sizeof(tmp_ary); i++){
p = strtok(tmp_ary[i] , "|");
ret_key[i] = *p;
p = strtok(NULL, "|");
ret_val[i] = *p;
}
これで作ってコンパイルはエラーになりませんでした。
又別件で、
上記ret_keyで作成したキーを元に、
構造体のメンバーがあるか検索することは可能でしょうか。
ご存知だったらご教授願いたいです。
以上、宜しくお願いいます。
お礼
返事がおそくなって申し訳ありまん。 こちら色々やったり聞いたりして無事解決できました。 有難う御座いました。