strtok에 대해 한 번 더 delim을 사용하는 방법이 있습니까? load 나 init 둘 중 하나에서만 작동하도록 코드를 얻을 수 있지만 둘 다 사용할 수는 없습니다.C에서 strtok에 delim을 두 번 이상 사용할 수 있습니까?
가if ((tok = strtok(choice, " ")) && strcmp(tok, COMMAND_LOAD) == 0){
tok = NULL;
if((tok = strtok(tok, " ")) != NULL){
/*some code*/
}
}
else if((tok = strtok(choice, " ")) && strcmp(tok, COMMAND_INIT) == 0){
tok = NULL;
if((tok = strtok(tok, ",")) != NULL){
/*some code*/
}
}
'tok'를'NULL'로 설정하고 문자열로 사용하려고하면 많은 것을 얻지 못할 것입니다. 'tok = strtok (choice, "")'를 한 번하고 if/else if에서'tok'를 체크 할 수 있습니다. – Schwern
@Schwern 올바른 사용법입니다. * man strtok (3)을 보시오. * – EJP
@EJP 아 맞다. strtok은 사기꾼이다. – Schwern