CString、string、string.h的区别

CString:CString是MFC或者ATL中的实现,是MFC里面封装的一个关于字符串处理的功能很强大的类,只有支持MFC的工程才能使用。如在linux上的工程就不能用CString了,只能使用标准C++中的string类了。在MFC中使用不需要自己加,但在另外的程序中需要加入#include<CString>(CString)

 

string:string为标准模板类(STL)定义的字符串类,已纳入C++标准中。另外因为string类是在标准C++库中,使用之前需要声明名称空间std;而CString类并不在std命名空间中,因为它并不是c++标准库,只是一个微软的封装库。所以string类的程序移植性更好。同时,string类与CString类的方法接口也不太一样。一般我们使用cout重载stringl类,而不是CString类

 

string.h:c语言中关于字符数组的函数定义的头文件,常用函数有strlen,strcpy,strcmp等,与string类无半点关系,所以头文件<string>、<string.h>是没有关系的两个东西