사용법
char *strtok(char *_String, char const *_Delimiter);
첫번째 분리된 토큰 = strtok(대상, 구분자)
더이상 자를 문자열이 없으면 NULL리턴
- strtok() 의 첫번째 인자가 문자열 포인터면 첫번째 토큰을 리턴하고
token = strtok(exp, " ");
- 첫번째 인자가 NULL이면 이전에 사용했던 문자열(코드에서 exp)의 그 다음토큰을 리턴 (내부적으로 static 변수로 기억한다고함)
token = strtok(NULL, " ");
- 참고로 모두 수행하고 나면 원본의 구분자를
\0
문자로 바꾸므로 원본 문자열이 바뀌는것을 주의해야함.
int stack_calculator(char *exp)
{
int ret = 0;
int exp_size = strlen(exp);
char *token = strtok(exp, " ");
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, " ");
}
return ret;
}
참고