[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
'Programming Language > C언어' 카테고리의 다른 글
[C언어] 토큰(Token)이란? (0) | 2025.04.12 |
---|---|
[C언어] 파일 입출력 - 읽기 (fopen, fgets, fseek, feof, fclose) (0) | 2025.03.29 |
[C언어] 중복 없이 난수를 입력 받은 개수만큼 생성하는 함수 (0) | 2024.11.09 |
[C언어] 입력 버퍼 지우는 함수 (0) | 2024.11.08 |
[C언어] 동적 할당 (0) | 2024.11.08 |