文字列トークナイザーstrtok()を使用しています
入力は言うようなものです
"a,b,c,d|12,34,56,78"
私がやっている
char * cols;
char * vals;
$char col_val_temp[1024] = {0};
$char col_val[1024] = {0};
cols = strtok(input,"|");
vals = strtok('\0',"|");
// now vals will have "12,34,56,78"
strcpy(col_val_temp,vals);
strcpy(col_val,col_val_temp);
コードの後半では、再びstrtok
onを使用していますが、デバッガーで、にデータが存在するときにの値がnullvals
になる場所が突然ないことがわかります。文字列に対して何の操作もしていないので、そこにあるデータが失われる理由がわかりません。col_val
col_val_temp
col_val
誰かが私がこの振る舞いをしている理由とこれを克服する方法を説明できますか?このため私は立ち往生しています。
ありがとう !!!