2:string cstring char*
1、string,cstring都是字符串模板类
2、string属于STL标准类里,已经被写入c++的标准中
3、cstring继承CSimpleStringT类,在mfc,ATL编程中运用较多
4、string可以构造出任何字符串
5、string和cstring都有构造函数,都可以赋值,char*没有构造函数
6、string可以对所有的字符串进行赋值,cstring对一些基础的字符串进行赋值,char*只能用指针赋值,推荐用strcpy或者memcpy赋值
7、char*声明的时候未赋值使用NULL,避免出现野指针
8、string和cstring可以直接与char*进行加法,但是不可以相互使用加法
3:算法
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