跪求MFC高手解决问题,关于CString 类和UNIT类之间的转换问题。
我用MFC编程时,定义了一个变量CStringm_string;这个变量用来存储从键盘上读入的字符串。而在函数OnChar中有一个参数UNITnChar,如今我用以下等式...
我用MFC编程时,定义了一个变量 CString m_string;
这个变量用来存储从键盘上读入的字符串。
而在函数OnChar 中有一个参数UNIT nChar,如今我用以下等式,报错了,不能编译成功。
m_string+=nChar;(报错)
但是我写成以下就可以成功,只是每次用键盘上输入都是一个nChar
m_string+=_T("nChar");
该问题应该怎么解决? 展开
这个变量用来存储从键盘上读入的字符串。
而在函数OnChar 中有一个参数UNIT nChar,如今我用以下等式,报错了,不能编译成功。
m_string+=nChar;(报错)
但是我写成以下就可以成功,只是每次用键盘上输入都是一个nChar
m_string+=_T("nChar");
该问题应该怎么解决? 展开
4个回答
展开全部
因为nchar是uint类型的,你肯定不能用string类型去加啊 而下面的行是因为其实你用的string类型去加了一个字符串“nchar” 而非键盘输入的那个字符,所以你要另外定义一个cstring类型变量str,用str的format函数将nchar转换为string类型,然后用m_string加上str每次这样就得到了字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CString有可能是unicode或ansi, 这个取决于你项目是否定义了_UNICODE宏,_T能确保和
CString保持一致,建议看下CString和_T的定义,就很容易明白了
CString保持一致,建议看下CString和_T的定义,就很容易明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m_string+=(wchar_t)nChar;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询