VC++ 字符串拼接 ,error C2666

我现在要将一个int型变量拼接到字符串前面
int m;m的值循环+1,我要在m后拼接上CString(_T("次"));
我用:CString temp = m+ CString(_T("次"));
但是报错: error C2666: '+' : 4 overloads have similar conversions,我想知道怎样能拼接成功,
谢谢

CString temp = m+ CString(_T("次"));
你拼错了,
改成
CString temp = temp+ CString(_T("次"));

报错的原因是,你用整形变量m和字符串进行 加运算。
编译器找不到匹配的重载运算符 + 。追问

可是这样我的变量m没了啊
我想要的结果是:“m次”这样的

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2020-12-23
temp.Format("%d次",m);追问

error C2065: 'Format' : undeclared identifier
而且,这句的赋值怎么写?毕竟若是temp没有定义啊?
CString temp = Format("%d次",m); 这样也不行
麻烦你了

追答

CString temp;
temp.Format("%d次",m);
这样不行吗

追问

现在是可以了,但是我的m是一位数,出来的结果是8位数,大神能不能再帮忙改一下,万分感谢

追答

8位数,什么意思,什么样的输出结果?

追问

现在我的m=0, "%d次"我用的"%dpre"
即:CString temp;
m=0;
temp.Format("%pre",m);
输出是:00000000re=we4r ,数字从0变成了00000000,还有p不见了
哦we4r,是我随便输入的,和程序无关,只是看一下效果

追答

你%pre 干啥 改成%d 不要动

本回答被提问者采纳