CString与string,char*的区别和转换

 我来答
o9...6@33sn.cc
2017-03-07 · 超过79用户采纳过TA的回答
知道答主
回答量:305
采纳率:0%
帮助的人:71.4万
展开全部
  我们在C++的开发中经常会碰到string、char*以及CString,这三种都表示字符串类型,有很多相似又不同的地方,常常让人混淆。下面详细介绍这三者的区别、联系和转换:

  各自的区别

  char*:
  char*是一个指向字符的指针,是一个内置类型。可以指向一个字符,也可以表示字符数组的首地址(首字符的地址)。我们更多的时候是用的它的第二的功能,来表示一个字符串,功能与字符串数组char ch[n]一样,表示字符串时,最后有一个 '\0'结束符作为字符串的结束标志。

  string:
  string是C++标准库(STL)中的类型,它是定义的一个类,定义在<string>头文件中。里面包含了对字符串的各种常用操作,它较char*的优势是内容可以动态拓展,以及对字符串操作的方便快捷,用+号进行字符串的连接是最常用的操作。

  CString
  CString常用于MFC编程中,是属于MFC的类,如从对话框中利用GetWindowText得到的字符串就是CString类型,CString定义在<afx.h>头文件中。CString(typedef CStringT> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,所以使用CString时要包含afx.h文件#include <afx.h>。
Asianmineralq
2017-03-07 · TA获得超过115个赞
知道小有建树答主
回答量:397
采纳率:0%
帮助的人:358万
展开全部
在C语言中,string 是定义一个字符串,存储的是一段如“abcd”的数据,而且最后还有一个结束符'\0';char 是定义一个字符,存储一个字符,占一个字节。 在C++中,string有两种,一种是字符串char[],另外一种是封装好的字符串类,要区别理解。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式