为什么Cstring的变量可以直接赋值

我记得C里面不是字符型的必须要用strcpy来初始化字符串吗?为什么CString类型可以直接赋值,如CStringstr;str="红色";... 我记得C里面不是字符型的必须要用strcpy来初始化字符串吗?为什么CString类型可以直接赋值,如CString str;str = "红色"; 展开
 我来答
csuideal
2009-05-08 · TA获得超过338个赞
知道小有建树答主
回答量:150
采纳率:0%
帮助的人:186万
展开全部
因为微软重新定义了也就是重载了 = 运算符, 你也可以这么理解,当你掉str = "红色";时,他知道 你想给赋值,所以帮你把值赋了。。
保宜楠Q6
2009-05-08 · TA获得超过149个赞
知道答主
回答量:249
采纳率:0%
帮助的人:118万
展开全部
因为一个字符串,一个是字符型数组
对于字符串的操作可以直接赋值,而数组就只能用strcpy来赋值或一个一个的往里写,还有一种字符串的类型:
ANSIString str;
str="答案";
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wzmlyx3221
2009-05-09
知道答主
回答量:24
采纳率:0%
帮助的人:7.6万
展开全部
上面俩个仁兄的回答都是有道理的,c里边字符串是数组表示的,对数组的操作就如第一位仁兄所说的可以对单个数组元素操作,也可以整体用函数操作,也就是你说的strcpy!还有一种就是对数组的地址操作,如:char a[2]={'a','b'};要输出这个数组的内容可以对地址*a操作!在vc中,对字符串的操作是微软提供了类cstring,通过这个类对象操作字符串。‘=’是这个类的一个操作符,当然就可以用这个方法操作了!你可以查看一下msdn~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yemo31995556
2009-05-16 · TA获得超过335个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:241万
展开全部
跟char*不一样,是mfc封装的类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式