C_C++

(C언어) strtok: 문자열 분리

고니자니 2022. 11. 19. 12:39
반응형
#include <string.h>
char *strtok(char *s1, const char *s2);

strcok 함수는 문자열 s1을 분리 문자열 s2를 이용해서 다음 토큰을 찾습니다.

s1에서 발결된 다음 토큰의 포인터를 반환합니다. 더 이상 토큰을 찾을 수 없으면 NULL을 반환합니다.

 

strtok 함수의 첫 번째 호출은 s1에 있는 첫 번째 토큰의 포인터를 반환하고 반환된 토큰 다음에 NULL을 써 넣습니다.

첫 번째 인수로 NULL을 사용한 strtok 함수의 두 번째 호출은 토큰 다음에 나오는 문자의 포인터를 반환합니다.

 

예제

#define _CRT_SECURE_NO_WARNINGS  // Visual Studio
#include <string.h>
#include <stdio.h>

int main()
{
    char string[] = "It is always interesting\tto keep\
        an eye on promising\nnew programming languages.";
    char seps[] = " ,\t\n";
    char* token;

    // Establish string and get the first token:
    token = strtok(string, seps); // C4996
    // Note: strtok is deprecated; consider using strtok_s instead
    while (token != NULL)
    {
        // While there are tokens in "string"
        printf(" %s\n", token);

        // Get next token:
        token = strtok(NULL, seps); // C4996
    }
}

strtok: 문자열 분리

 

반응형