검색결과 리스트
글
str로 시작하는 문자열 관련 함수가 꽤 있는데 이중에 문자열을 자르는데 유용한 strtok이란 함수가 있다.
아직 parser가 제대로 구현이 안되어 있어 이를 임시로 구현하는데 사용하게 되었다.
예제는 인터넷을 뒤지다가 찾은 것인데 이정도만 봐도 이해하는데 쉬울 것 같다. 출처를 표기해야하는데...까먹었네;
나중에 찾아보고 출처 기입해야함.
#include <STDIO.H>
#include <STRING.H> //strtok함수는 string.h에 들어있습니다.
int main( )
{
//분리된 문자열 보관용
char *token = NULL;
//분리할 문자열
char str1[] = "This is\tStrtok,Test Program!!!! end\n";
//' '이나 ','이나 '\t'이나 '\n'이 들어있는 문자열을 분리
//구분자 지정
char str2[] = " ,\t\n!";
//strtok를 사용시 가장 유의할점은 원본이 손상 된다는 점입니다.
//strtok에 넣어줄 첫번째 인자는 복사해서 사용하는 것이 좋습니다.
//처음 토큰을 자른다.
token = strtok( str1, str2 );
//이후는 계속 반환된다.
while( token != NULL )
{
//토큰별로 출력
printf( "token = %s", token );
//한칸 내리기
putchar( '\n' );
//반복해서 자르기. 첫번째 인자를 NULL처리하면 기존에 포인터에서 계속 자르게 됩니다.
token = strtok( NULL, str2 );
}
//strtok사용하고 난후의 원본 문자열이 손상된것을 알수 있습니다.
printf("검색이 완료된 원본 문자열 : %s\n",str1);
return 0;
}
'개발관련 > 시스템함수' 카테고리의 다른 글
| [toupper][tolower] 소문자,대문자 변환하기 (0) | 2013.12.13 |
|---|---|
| [trim] trim을 만들어보자 (0) | 2013.12.04 |
| [isdigit] 문자열 검사 함수 is~ (0) | 2013.11.19 |
| print문으로 출력할 때 자릿수 지정을 외부 인자로 하는 방법 (0) | 2013.11.11 |
| [getopt] getopt와 getopt_long을 써보자 (0) | 2013.10.31 |
RECENT COMMENT