C C 與Python字串處理比較

2021-06-10 20:53:45 字數 2130 閱讀 4377

本文比較了c,c++和python中關於字串處理的一些庫函式。這裡你可能會奇怪,python和c/c++本來就不是同一層次上的語言,為什麼要放在一起比較。這裡就是參照python來看看c++的字串處理目前是一種什麼情況。python現在也屬於一種很熱門的指令碼語言,它以其容易上手著稱。它的庫中提供了眾多的函式、類和模組支援對字串的處理。本文期望能夠為使用c++的人提供一定的幫助。

在比較值錢,先區分一下c/c++中一下三個關於字串處理的標頭檔案的區別。

#include #include #include

第乙個是標準的c的字串處理的庫,它處理的物件是char 。第二個是經過c++包裝的c標準字串處理庫,也就是說他們內容其實是完全一樣的,它處理的當然還是char 。第三個就是c++中的string類庫。本文做的比較主要是c string.h,c++ string和python str。其中c++中字串處理的庫,不僅僅包含了stl中的也包含了準標準庫boost中的有關字串處理的內容。

cc++

python

型別轉換

boost/conversion/lexical_cast

int(),float(),long()

元素訪問

iterators, , at,

'__getitem__'

修改元素

assign

附加strcat

strncat

__add__,'join'

插入insert

刪除erase

替換replace

『replace』』translate』

切片,子字串

memcpy,memmove

strcpy,strncpy

substr

'__getslice__'

比較memcmp,strcmp,

strcoll,strncmp,strxfrm

compare

查詢memchr,strchr,strcspn

strpbrk,strrchr,strspn

strstr,strtok

find,rfind,find_first_of,

find_last_of,

find_first_not_of,

find_last_not_of,

boost/string_algor

『find』』index』』rfind』』rindex』 ,

_contains__'『count』

大小及容量

strlen

size,length,max_size,

resize,capacity,

reserve,clear,empty

__len__

修剪boost/string_algor

『strip』』rstrip』』expandtabs』

』ljust』』lstrip』』rjust』』center』』zfill』

大小寫boost/string_algor

『lower』』swapcase』』upper』』title』 capitalize

編譯碼boost/locale

『decode』』encode』

特點判斷

boost/string_algor

『endswith』』isalnum』』isalpha』

』isdigit』』islower』』isspace』』istitle』

』isupper』』startswith』

分割boost/string_algor

『rpartition』』rsplit』』splitlines』』split』』partition』

格式化boost/format

『format』

正規表示式

boost/regex,boost/xpressive

re 從上面的比較可以清晰的看出,對於字串的處理,c更加直接,功能也更少,更基本,可以用它來寫成更加複雜的函式。而c++ string stl也是提供比較基本的函式,而boost則剛好給string提供了較多的更加實用的功能,彌補了c++這方面的缺陷,使得c++更加容易上手。因此在使用c++的時候結合boost已經基本上可以像寫python那樣方便的使用庫了。

C C 字串處理函式

c include 1.字串長度 extern int strlen char s 返回s的長度,不包括結束符null 2.字串比較 extern int strcmp char s1,char s2 extern int strncmp char s1,char s2,int n 比較字串s1和s...

C C 字串處理函式

c char st 100 1.字串長度 strlen st 2.字串比較 strcmp st1,st2 strncmp st1,st2,n 把st1,st2的前n個進行比較。3.附加 strcat st1,st2 strncat st1,st2,n n表示連線上st2的前n個給st1,在最後不要加...

C C 字串處理函式

c char st 100 1.字串長度 strlen st 2.字串比較 strcmp st1,st2 strncmp st1,st2,n 把st1,st2的前n個進行比較。3.附加 strcat st1,st2 strncat st1,st2,n n表示連線上st2的前n個給st1,在最後不要加...