-
Notifications
You must be signed in to change notification settings - Fork 4
C 에서의 문자열 슬라이싱
FoRA edited this page Jan 15, 2021
·
2 revisions
- strtok(대상문자열, 기준문자);
- char *strtok(char *_String, char const *_Delimiter);
- 자른 문자열을 반환, 더 이상 자를 문자열이 없으면 NULL을 반환
#define _CRT_SECURE_NO_WARNINGS // strtok 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
#include <string.h> // strtok 함수가 선언된 헤더 파일
int main()
{
char s1[30] = "The Little Prince"; // 크기가 30인 char형 배열을 선언하고 문자열 할당
char *ptr = strtok(s1, " "); // " " 공백 문자를 기준으로 문자열을 자름, 포인터 반환
while (ptr != NULL) // 자른 문자열이 나오지 않을 때까지 반복
{
printf("%s\n", ptr); // 자른 문자열 출력
ptr = strtok(NULL, " "); // 다음 문자열을 잘라서 포인터를 반환
}
return 0;
}
The
Little
Prince
strtok()
를 하면 2번째 인수인 ' '
을 찾아 NULL을 넣어준 다음 잘라낸다. 그 다음 strtok(NULL, " ")
를 하면 NULL위치에서 시작하여 공백을 찾은 다음 NULL을 넣어주고 문자열을 잘라낸다.