字串分割 C

2021-07-22 23:25:35 字數 2434 閱讀 6104

一、用

strtok函式進行字串分割

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

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

引數說明:str為要分解的字串,delim為分隔符字串。

返回值:從str開頭開始的乙個個被分割的串。當沒有被分割的串時則返回null。

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

示例:

1

//借助strtok實現split

2 #include

3 #include 4

5int

main()616

17return0;

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)318

}19return

result;

20 }

完整**:

1/*2

file : split1.cpp

3author : mike

4e-mail : [email protected]*/

6 #include 7 #include

8 #include 9

10//

字串分割函式

11 std::vectorstring> split(std::string str,std::string

pattern)

1227}28

return

result;29}

3031

intmain()

3247

48 std::cin.get

();49 std::cin.get

();50

return0;

51 }

stl完整**

三、用boost進行字串的分割

用boost庫的正規表示式實現字串分割 實現如下:

1 std::vectorstring> split(std::string str,std::strings)

2 11 returnvec; 12 }

完整**:

1

//本程式實現的是利用正規表示式對字串實現分割2//

執行環境 vc6.0 + boost 庫3/*

4file : split2.cpp

5author : mike

6e-mail : [email protected]*/

8 #include 9 #include 10 #include 11 #include

12 #include "

boost/regex.hpp"13

14 std::vectorstring> split(std::string str,std::string

s)15

24return

vec;25}

26int

main()

2736 std::cin.get

();37 std::cin.get

();38

return0;

39 }

boost完整**

boost裡面有自帶的split的函式,如果用boost的話,還是直接用split的好,**如下:

1 #include 2 #include 

3 #include 4 #include string/classification.hpp>

5 #include string/split.hpp>67

using

namespace

std;89

intmain()

10

ps:c中也有對應將包含數的字串轉換為數值:int atoi(const char*);//#include

C 字串分割

c 中的字元分割是乙個常見的應用,下面是乙個字串分割的 字串分割 vectorsplit string const string str,const string delimiters else pos delim split str.find delimiters res.push back sp...

字串分割 C

經常碰到字串分割的問題,這裡總結下,也方便我以後使用。一 用strtok 函式進行字串分割 原型 char strtok char str,const char delim 功能 分解字串為一組字串。引數說明 str為要分解的字串,delim為分隔符字串。返回值 從str開頭開始的乙個個被分割的串。...

字串分割 C

經常碰到字串分割的問題,這裡總結下,也方便我以後使用。一 用strtok 函式進行字串分割 原型 char strtok char str,const char delim 功能 分解字串為一組字串。引數說明 str 為要分解的字串,delim 為分隔符字串。返回值 從s tr開頭開始的乙個個被分割...