C 庫 - strtok() 函式



C 庫的 strtok() 函式用於將字串分割成標記。這些字串使用分隔符/分隔字元設定一組標記。通常,標記通常是字串中的單詞、短語或單個字元。

這裡,char *strtok(char *str, const char *delim) 使用分隔符 delim 將字串 str 分割成一系列標記。

語法

以下是 C 庫 strtok() 函式的語法:

char *strtok(char *str, const char *delim)

引數

此函式接受以下引數:

  • str − 此字串的內容將被修改並分解成較小的字串(標記)。

  • delim − 這是包含分隔符的 C 字串。這些分隔符在每次呼叫之間可能會有所不同。

返回值

此函式返回指向在字串中找到的第一個標記的指標。如果沒有剩餘標記可檢索,則返回空指標。

示例 1

以下是說明 strtok() 函式用法的 C 程式。

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

int main () {
   char str[80] = "This is - www.tutorialspoint.com - website";
   const char s[2] = "-";
   char *token;
   
   /* get the first token */
   token = strtok(str, s);
   
   /* walk through other tokens */
   while( token != NULL ) {
      printf( " %s\n", token );
    
      token = strtok(NULL, s);
   }
   
   return(0);
}

輸出

執行上述程式碼後,我們將得到以下結果:

This is 
  www.tutorialspoint.com 
  website

示例 2

在此示例中,我們演示瞭如何使用 strtok() 函式將字串的每個子字串在新的一行中表示。

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

int main() {
   char stng[100] = "Welcome to C Programming";
   char *res;
   
   res = strtok(stng, " ");
   while(res != NULL) {
      printf("%s \n", res);
      res = strtok(NULL, " ");
   }
   return 0;
}

輸出

執行上述程式碼後,結果將是:

Welcome 
to 
C 
Programming 

示例 3

以下是演示如何使用 strtok() 函式返回空指標的 C 程式。

#include <stdio.h>
#include <string.h>
int main()
{
   //String i.e. break in token
   char str_1[] = "ttttt";
   
   //delimiter
   char *str_2 = "tp";
   
   // initial call of strtok
   char *token = strtok(str_1, str_2);
   
   printf("The resultant token is %s\n", token);
   return 0;
}

輸出

上述程式碼將產生以下結果:

The resultant token is (null)
廣告