5
strtok()
을 사용하여 문자열을 구문 분석하려고했습니다. 세미콜론 (;)으로 구분 된 문자열을 구문 분석하려고합니다. 그러나 세미콜론이없는 문자열을 strtok()
에 입력하면 전체 문자열이 반환됩니다. 토큰이 일치하지 않으면 NULL
을 반환하지 않아야합니까?Strtok(), 토큰 일치 없음
int main(int argc, char** argv)
{
char cmd[] = "INSERT A->B B->C INSERT C->D";
char delim[] = ";";
char *result = NULL;
result = strtok(cmd,delim);
if(result == NULL)
{
printf("\n NO TOKENS\n");
}
else
{
printf("\nWe got something !! %s ",result);
}
return (EXIT_SUCCESS);
}
출력은 다음과 같습니다 :
이 내 코드입니다 우리는 뭔가있어! INSERT A-> B B-> C INSERT C-> D
이 ... 지금은 a와 b
토큰 '토큰 일치가 없으면 NULL을 반환하지 않아야합니까? 'N 전체 문자열은 토큰과 일치합니다. –
';'을 (를) 검색하는 경우 토큰보다는'strchr'을 사용하십시오. – ams