문자열 분리 및 파싱 관련 함수 중 strtok함수와 strpbrk함수에 관한 내용입니다.



※요약

strtok : 문자열을 특정 구분기호로 분리하고자 할 때 사용합니다. 

문자열에서 문자세트 중 하나가 발견되면 해당 문자를 NULL로 바꾸고 토큰(분리 문자열)을 반환합니다.

strpbrk : 문자열에서 특정 문자의 위치를 검색하며 대소문자를 구분합니다.



※함수 원형 및 설명



예제

-strtok

#include <stdio.h>	//printf
#include <string.h>	//strtok

int main( )
{
	char *token = NULL;
	char str1[] = "This is\tTest,Program!\n";
	char str2[] = " ,\t\n";//' '이나 ','이나 '\t'이나 '\n'이 들어있는 문자열을 분리

	token = strtok( str1, str2 );

	while( token != NULL )
	{
		printf( "token = %s", token );
		putchar( '\n' );
		token = strtok( NULL, str2 );
	}

	return 0;
}


-strpbrk

#include <stdio.h>	//printf
#include <string.h>	//strpbrk

int main( )
{
	char string[] = "f(x) = a+b-(c*d⁄e)";
	char strSeparate[] = "()=+-*⁄";
	char *strPos = string;

	do
	{
		strPos = strpbrk( strPos, strSeparate );

		if( strPos != NULL )
		{
			printf( "%s\n", strPos );
			++strPos;
		}
	}
	while( strPos != NULL );

	return 0;
}


+ Recent posts