CString能加减吗?如13-6=7这样

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:41:22
CString s1,s2,s3;s1=7,s2=8.结果是78.理论与实例上完全正确.
可是我想要的结果是15.
但是我却不知道它是否本身自带有这个加减功能没?

注:本身自带的!并不是要人手工添加重载实现的.
查过MSDN.MSDN上CString自带的+的功能也是同上例答案一样等于78

不能进行整数的加减法,只能进行字符串的相加,也就是连接。

s1 = 7 等同与 s1 = 7 对应的字符,请查ASCII表。

s1 + s2 = strcat(两个值)也就是把两个串连接。

比如s1 = "Love", s2 = "you"

s1 + s2 就等于 "Loveyou"

atoi(s1)+atoi(s2)即可

楼主要把字符型和数值型两种数据类型区分清楚

CString本质上是一个动态字符数组,你一个赋值7,一个赋值8,这两个是自动转换为字符类型的。字符的加减只是在原先字符基础上跟进一个新字符,所以结果是78

如果想实现整型加减,要先调用atoi把字符型转换为整型,加了之后再把整型的15用_itoa转换为字符型的好在文本编辑框什么的上边输出

CString 本身自带的不能!!!
除非重载或者转化

ATL中的CString类重载了操作符“+”,含义是将后一个CString对象的字符串添加到前一个CString对象。

楼主你如果需要做数学运算的话,请先将CString对象中的数字转存在int之类的变量中,在进行加减处理。

你可以自己写个CString的-法重载