#include<string.h>
strtok(*string,"구분자");
strtok는 인자로 다음과 같이 어떤 '문자열' 과 '구분자' 를 받아서 그 구분자를 기준으로 토큰을 리턴하는 함수이다.
ex)
#include<stdio.h>
#include<string.h>
int main(int argc,char *argv[])
{
char *pointer=NULL;
pointer = strtok(argv[1],"~");
printf("%s\n",pointer);
pointer = strtok(NULL,"/");
printf("%s\n",pointer);
return 0;
}
단, strtok함수를 쓸때는 주의할 점이 있는데, 처음에 strtok함수를 사용하고 나면, strtok함수가 구분자를 만나면 구분자를 NULL바꿔버리고 그 자리의 주소를 기억하고 있는다. 따라서 다음번에 다시 strtok를 사용할 떄는 argv[1]이 아니고, NULL을 해야 처음에 잘라낸 부분 뒤부터 구분자를 찾는 것이다. 그렇지 않을 경우에는 계속 처음부터 검색을 하게 됨.
※
#include<stdio.h> #include<string.h> int main(int argc,char *argv[]) { char *pointer=NULL; pointer = strtok(argv[1],"~"); printf("%s\n",pointer); printf("%s\n",argv[1]); pointer = strtok(NULL,"/"); printf("%s\n",pointer); return 0; } strtok함수를 사용하고 난후에 다시 argv[1]을 출력하면 ~가 NULL로 바뀌어 hi까지만 출력이 된다.
'Programming > C' 카테고리의 다른 글
열거형 enum (0) | 2012.07.09 |
---|---|
sscanf , sprintf (0) | 2012.07.06 |
문자열 붙이기 Strcat() (0) | 2012.07.04 |
Extern 함수 (0) | 2012.05.21 |
함수 포인터 (0) | 2012.05.07 |