字串全攻略

2021-04-30 02:56:06 字數 1604 閱讀 5137

一、字串函式是c的基礎,由於各個平台的差異,有著不同的版本:

1、c run-time libraries(win):有char(單位元組,一般命名規則str...)和wchar(unicode多位元組,一般命名規則wcs...)兩個版本,必須視具體情況來選擇用何種函式;

2、win platform sdk:綜合了char和wchar版本,用巨集來統一區分不同情況。例如:char環境的字串函式lstrlena和wchar的字串函式lstrlenw,統一定義了巨集來統一處理:

#ifdef unicode

#define lstrlen  lstrlenw

#else

#define lstrlen  lstrlena

#endif // !unicode

3、linux平台,除比較函式外,char版本基本等同win平台的c run-time版本

4、linux平台對unicode的支援,詳見:

5、mfc的cstring和stl的string是對對應平台的封裝。

二、具體應用,小結如下:

1、字串長度

char:  strlen

wchar:  wcslen

winsdk: lstrlen

linux:  strlen

二、字串全拷貝

char: strcpy

wchar: wcscpy

winsdk:lstrcpy

linux: strcpy

三、字串部分拷貝:

char: strncpy

wchar: wcsncpy

winsdk:lstrcpyn

linux: strncpy

注意:winsdk的最後的最大長度引數包括結束符'/0'計算在內,而其他版本不包括

例如:strncpy(string,"hello",3) ==> string="hel"

lstrcpyn(string,"hello",3) ==> string="he"

四、字串比較函式

char: strcmp

wchar: wcscmp

winsdk:lstrcmp

linux: strcmp

五、字串比較函式(忽略大小寫)

char: stricmp

wchar: wcsicmp

winsdk:lstrcmpi

linux: strcasecmp

六、字串部分比較

char: strncmp

wchar: wcsncmp

winsdk:無

linux: strncmp

七、字串部分比較(忽略大小寫)

char: strnicmp

wchar: wcsnicmp

winsdk:無

linux: strncasecmp

八、字串追加

char: strcat

wchar: wcscat

winsdk:lstrcat

linux: strcat

CString 擷取字串全攻略

函式在比較時不區分大小寫 引數 為要和物件比較的字串,也可以為cstring物件 返回值 如果兩個字串一樣則返回0 intstrcmp constchar constchar string2 注 函式在比較時區分大小寫 引數 為要和物件比較的字串 返回值 string1 string2返回0 str...

php 字串安全過濾 全攻略

參考 set magic quotes runtime 可以讓程式設計師在 中動態開啟或關閉 magic quotes runtime,set magic quotes runtime 1 表示開啟,set magic quotes runtime 0 則表示關閉。當set magic quotes...

測試全攻略

include class1.h include include cppunit testrunner.h include cppunit testresult.h include cppunit testresultcollector.h include cppunit extensions he...