首頁 常見問題 strtok函數用法詳解

strtok函數用法詳解

Nov 28, 2023 am 10:15 AM
strtok函數

strtok函數是用來將字串依照指定分隔符號分割的函數,透過多次呼叫可以逐個傳回分割後的子字串。需要注意的是,原始字串會被strtok函數修改,它會將分隔符號替換為字串結束符'\0',因此在處理完所有子字串後,原始字串可能已經被修改。如果需要保留原始字串,可以在分割前建立副本進行操作。

strtok函數用法詳解

strtok函數是C語言中的字串分割函數,用於將一個字串依照指定的分隔符號分割,並傳回分割後的子字串。它的用法如下:

char *strtok(char *str, const char *delimiters)
登入後複製

str:要分割的字串,第一次呼叫時傳入待分割的字串,後續呼叫時傳入NULL。

delimiters:分隔符號字串,指定用於分割字串的字元集合。

strtok函數的工作方式如下:

1、第一次呼叫時,將待分割的字串作為參數傳入,並傳回第一個子字串的指標。

2、後續呼叫時,傳入NULL作為第一個參數,函數會繼續從上一次呼叫結束的地方繼續分割字串,並傳回下一個子字串的指標。

3、當沒有更多的子字串可供傳回時,函數會傳回NULL。

下面是一個簡單的範例,示範了strtok函數的用法:

#include
#include
int main() {
char str[] = "Hello, World! How are you?";
const char delimiters[] = " ,!";
// 第一次调用strtok
char *token = strtok(str, delimiters);
// 通过循环继续分割字符串
while (token != NULL) {
printf("%s\n", token);
// 后续调用strtok
token = strtok(NULL, delimiters);
}
return 0;
}
登入後複製

在上面的範例中,我們將字串"Hello, World! How are you?"依照空格、逗號和感嘆號進行分割。首先,第一次呼叫strtok函數,並傳入待分割的字串和分隔符號字串。函數傳回第一個子字串的指標"Hello",然後透過循環繼續呼叫strtok函數,傳入NULL作為第一個參數,繼續分割字串。每次循環,函數會傳回下一個子字串的指針,直到沒有更多的子字串可供返回時,函數會傳回NULL,循環結束。

需要注意的是,原始字串會被strtok函數修改,它會將分隔符號替換為字串結束符號'\0',因此在處理完所有子字串後,原始字串可能已經被修改。如果需要保留原始字串,可以在分割前創建一個副本進行操作。

總結來說,strtok函數是一個用於將字串按照指定分隔符號進行分割的函數,透過多次呼叫可以逐一返回分割後的子字串。透過理解strtok函數的用法和注意事項,可以方便地處理字串分割的需求。

以上是strtok函數用法詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)