a) 查找
作用 char* string CString
查找指定值 strchr
strstr
strrstr
strspn find Find
第一个匹配的值 fild_first_of FindOneOf
从后面开始查找 ReserveFind
指定匹配方式 find_if
注:find_if中是把范围内的值挨个代入匹配函数直至返回true
b) 比较
作用 char* string CString
查找指定值(区分大小写) strcmp
strncmp
strcoll
_strncoll operator<
operator>
operator<=
operator>=
operator==
operator!= Collate
Compare
查找指定值(不区分大小写) _stricmp
_strnicmp
_stricoll
_strnicoll CollateNoCase
CompareNoCase
注:返回值如果<0则前面的值小于后面的值,反之亦然
c) 替换
作用 char* string CString
查找指定值 _strset
_strnset replace
replace_copy
replace_copy_if
replace_if
Replace
d) 插入
作用 char* string CString
查找指定值 insert Insert
e) 增加
作用 char* string CString
动态增加值 strcat push
append Append
AppendChar
AppendFormat
f) 截取
作用 char* string CString
得到部分值 用下标操作 substr Left
Mid
Right
Truncate
g) 移除
作用 char* string CString
移除部份值 remove Remove
移除空白值 RemoveBlanks
注:此为ATL提供,非C函数 remove_if Trim
TrimLeft
TrimRigth
h) 转换大小写
作用 char* string CString
转换大小写 _strlwr
_strupr MakeLower
MakeUpper
i) 与其他类型转换
作用 char* string CString
转化为数字 atoi
atod
atof Format
转化为char* c_str GetBuffer
GetBufferSetLength
j) 格式化
作用 char* string CString
格式化 sprintf Format
k) 得到长度
作用 char* string CString
得到长度 strlen length GetLength
得到大小 size GetAllocLength
l) 判断为空
作用 char* string CString
判断是否为空 判断是否==NULL或者第一个字符是否是’\0’ empty IsEmpty
m) 重定义大小
作用 char* string CString
重定义大小 realloc
new resize GetBufferSetLength
n) 释放资源
作用 char* string CString
释放 free
delete (delete[]) ReleaseBuffer
ReleaseBufferSetLength
总结
综上所述,在MFC、ATL中使用字符串尽量使用CString,而在非微软平台上或对移植性要求较高的场合推荐使用string,标准模板
库提供了那么强大的泛型算法,没必要再自己去造车轮。