标准C(char*)、标准C++(string类)、MFC(CString类)中使用字符串
在标准C,标准C++,MFC中 字符串这一功能的实现是不相同的,C++完全兼容了C。
1、标准C中的字符串
在标准C中没有string这样的数据类型,C中的字符串是有char类型的字符数组或者char类型的字符指针来实现的。例如:
char name[26]=“This is a C-style string”; 或者
char * name=“This is a C-style string”;
类型的字符串以\0为结束标记,所占内存是实际子符长度+1,其初始化和赋值都要逐个字符的赋值,修改不辨,粒度太小,很不直观,是程序员分散了一些软件的高级层面问题,如算法,抽象数据类型或软件构架。char *没有构造函数,仅能由指针赋值,而且是一个极其危险的操作,在 声明char * 的时候如果没有 赋初值,建议先 初始化为NULL ,以免出现悬浮指针或者指向地址不明的指针,否则,出错会让你很爽!
标准C中是没有string类型,但是在C中有string.h头文件,需要注意的是此string.h中的string 非彼string,<string.h> 头文件中定义了一些我们经常用到的操作字符串的函数,如