一、字串函式是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...