>  기사  >  백엔드 개발  >  C 언어의 strtok() 함수란 무엇입니까?

C 언어의 strtok() 함수란 무엇입니까?

王林
王林앞으로
2023-08-28 23:29:061566검색

C 언어의 strtok() 함수란 무엇입니까?

strtok() 함수는 헤더 파일 #include 의 일부입니다.

strtok() 함수의 구문은 다음과 같습니다. 구분자 문자 제한자. strtok()은 구분 문자를 기준으로 문자열을 토큰으로 분할합니다.

strtok()에서 문자열 목록을 얻을 것으로 예상할 수 있습니다. 그러나 함수는 strtok(input,limiter)를 호출한 후 첫 번째 토큰을 반환하므로 별도의 문자열을 반환합니다.

하지만 NULL을 얻을 때까지 빈 입력 문자열에 대해 함수를 계속해서 호출해야 합니다!

일반적으로 NULL을 반환할 때까지 strtok(NULL, delim)을 계속 호출합니다.

예제

다음은 C 프로그램의

strtok() 함수

의 예입니다. 온라인 데모

char* strtok(char* string, const char* limiter);

Output

위 프로그램을 실행하면 다음과 같은 결과가 생성됩니다. −

#include <stdio.h>
#include <string.h>
int main() {
   char input_string[] = "Hello Tutorials Point!";
   char token_list[20][20];
   char* token = strtok(input_string, " ");
   int num_tokens = 0; // Index to token list. We will append to the list
   while (token != NULL) {
      strcpy(token_list[num_tokens], token); // Copy to token list
      num_tokens++;
      token = strtok(NULL, " "); // Get the next token. Notice that input=NULL now!
   }
   // Print the list of tokens
   printf("Token List:</p><p>");
   for (int i=0; i < num_tokens; i++) {
      printf("%s</p><p>", token_list[i]);
   }
   return 0;
}

The 입력 문자열은 "Hello Tutorials Point"이므로 단어를 공백으로 분할하려고 합니다.

strtok(input, " ")을 사용하여 첫 번째 토큰을 얻습니다. 여기서 큰따옴표는 단일 문자열인 구분 기호입니다.

이후에는 strtok(NULL, " ")을 사용하여 태그를 계속 가져오고 strtok()에서 NULL을 얻을 때까지 반복합니다.

위 내용은 C 언어의 strtok() 함수란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제