C 中字串分割的常用函式

2021-07-04 17:36:46 字數 1142 閱讀 1300

經常碰到字串分割的問題,這裡總結下,也方便我以後使用。

一、用strtok

函式進行字串分割

原型: char *strtok(char *str, const char *delim);

功能:分解字串為一組字串。

引數說明:str

為要分解的字串,

delim

為分隔符字串。

返回值:從s

tr開頭開始的乙個個被分割的串。當沒有被分割的串時則返回

null

。其它:strtok函式執行緒不安全,可以使用strtok_r替代。

示例:

1

//借助strtok實現split

2 #include

3 #include 45

int main()

6 16

17return

0;18 }

執行效果:

二、用stl

進行字串的分割

涉及到string類的兩個函式find和substr:

1、find函式

原型:size_t find ( const string& str, size_t pos = 0 ) const;

功能:查詢子字串第一次出現的位置。

引數說明:str為子字串,pos為初始查詢位置。

返回值:找到的話返回第一次出現的位置,否則返回string::npos 

2、substr函式

原型:string substr ( size_t pos = 0, size_t n = npos ) const;

功能:獲得子字串。

引數說明:pos為起始位置(預設為0),n為結束位置(預設為npos)

返回值:子字串 

實現如下:

1

//字串分割函式

2 std::vectorstring> split(std::string str,std::string pattern)

3 18 }

19return result;

20 }

c 字串分割函式

使用strtok函式分割。原型 char strtok char s,char delim strtok在s中查詢包含在delim中的字元並用null 0 來替換,直到找遍整個字串。功能 分解字串為一組字串。s為要分解的字串,delim為分隔符字串。說明 首次呼叫時,s指向要分解的字串,之後再次呼叫...

C 字串分割函式

平時刷 leetcode 劍指 offer 等可能不會用到,但在找工作做筆試題的過程中還是會經常用到的,c 標準庫裡面沒有字元分割函式split,這裡做個總結。方法1 利用 stl 實現 include include include using namespace std vector split...

C 的字串分割函式

c 的字串沒有分割函式,因此需要自己寫方便使用。而受到開發工具的影響,有很多用起來比較麻煩啦,下面這個比較不錯奧。用stl進行字串的分割 涉及到string類的兩個函式find和substr 1 find函式 原型 size t find const string str,size t pos 0 ...