Programming Language/C언어

[C언어] strtok 함수 알아보기 (문자열 자르기)

lxvxxu 2025. 4. 12. 15:36

[C언어] strtok 함수 알아보기 (문자열 자르기)

 

strtok

string을 tokenize한다.

 

header file

- C언어 : <string.h>

- C++ : <cstring>

 

strtok 함수 정의

char* strtok(char* str, char* delimiters);

 

문자열 str을 첫 번째 parameter로 받아서

두 번째 parameter로 들어온 char* type의 구분자를 기준으로

문자열을 잘라 문자열의 pointer를 하나씩 반환하는 함수

 

사용법

char str[] = "Block D Mask.";	// 구분할 문자열
char *ptr = strtok(str, " ");		// 첫 번째 strtok 사용
while (ptr != NULL)	// ptr이 NULL일 때까지 = strtok 함수가 NULL을 return할 때까지
{
	printf("%s\n", ptr);	// 자른 문자 출력
    ptr = strtok(NULL, " ");	// 자른 문자 다음부터 구분자 찾기
}

 


 

예제01

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

int main() {
	char str[] = "Kim,Park,Lee,Choi,Seo";

	char* ptr = strtok(str, ",");

	while (ptr != NULL)
	{
		printf("%s\n", ptr);
		ptr = strtok(NULL, ",");
	}
	
	return 0;
}

 

 

Result)

 

 

 

 


참고 자료

https://blockdmask.tistory.com/382