[C] std library - strtok()

숲사람·2022년 7월 20일
0

UNIX & C

목록 보기
11/12

사용법

  • 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;
}

참고

profile
기록 & 정리 아카이브 용도 (보다 완성된 글은 http://soopsaram.com/documentudy)

0개의 댓글