본문 바로가기

Programming/C C++

[C, C++] 표준 Library 함수 - 문자열 분리 함수

아래 함수 사용시 string.h Header File선언이 필요합니다.

 함수  사용  설명
 strtok()  p = strtok(s1, s2);  문자열 s1에서 s2에 해당하는 문자를 만나면 그 문자 앞의 모든 문자열을 pointer로 반환합니다.

함수 반환값에서 p는 Pointer를, s1과 s2는 문자열을 의미합니다.

참고 :
strtok()함수의 문자열 인수중 s2는 해당 문자열 전체와 일치하는 개념이 아니라 s2를 이루고 있는 문자열중 각각의 문자와 일치하는 개념으로 작동합니다.

#include <stdio.h>
#include <string.h>

main()
{
  char s[10] = "spadework";
  char *p;
 
  p = strtok(s, "xw");
 
  printf("%s", p);
}


spadework 문자열중 x나 w에 해당하는 문자를 만나면 그 앞의 문자열 위치를 Pointer로 반환합니다.


두번째 인수에서 "xw"이라는 문자열을 인수로 전달했지만 spadework문자열 중에는 x라는 문자가 없습니다. 그러나 w문자가 spade뒤에 있으므로 앞부분 주소에 대한 Pointer를 얻게됩니다.

태그