首頁  >  文章  >  後端開發  >  strtok()函數在C語言中是什麼?

strtok()函數在C語言中是什麼?

王林
王林轉載
2023-08-28 23:29:061567瀏覽

strtok()函數在C語言中是什麼?

strtok()函數是頭檔的一部份#include

strtok()函數的語法如下所示−

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

輸入一個字串和一個分隔符號字元限制器。 strtok()將根據分隔字元將字串分割成標記。

我們可以期望從strtok()獲得一個字串列表。但是,該函數傳回一個單獨的字串,因為在呼叫strtok(input, limiter)後,它將傳回第一個標記。

但是我們必須一次又一次地在一個空的輸入字串上呼叫函數,直到我們得到NULL為止!

通常情況下,我們會繼續呼叫strtok(NULL, delim)直到它回傳NULL。

範例

以下是C程式的strtok()函數範例:

 線上示範

#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;
}

輸出

#當上述程式被執行時,它產生以下結果−

Token List:
Hello
Tutorials
Point!

輸入字串為“Hello Tutorials Point”,我們嘗試按空格進行分詞。

我們透過使用strtok(input, " ")來取得第一個標記。這裡雙引號是分隔符,是一個單一字元的字串!

之後,我們透過使用strtok(NULL, " ")來繼續取得標記,並循環直到從strtok()取得到NULL為止。

以上是strtok()函數在C語言中是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除