strtok_r , . while token2 =strtok_r(NULL," ",&endd_str);, endd_str , , strtok_r NULL. NULL printf segfault.
"\n" " ". , . , strtok_r , while .
:
void handler(char * input){
char * end_str;
char * token =strtok_r(input, "\n", &end_str);
while(token!=0){
printf("%s\n",token);
char * endd_str;
char * token2= strtok_r(token, " ", &endd_str);
while(token2 !=0){
printf("%s\n",token2);
token2 =strtok_r(NULL," ",&endd_str);
}
token=strtok_r(NULL,"\n",&end_str);
}
}
Ouput:
set a,10.5
set
a,10.5
set b,11.5
set
b,11.5
get b
get
b
add e,a,b
add
e,a,b
sub g,a,b
sub
g,a,b