通常我们需要在VS2010的MFC程序中运用AfxMessageBox将某个字符数组
如:char s[1024]或者字符指针 char* s2 所指向的字符串显示出来,供我们debug使用。但是由于多种原因可能会有错误
例如:
char *ch="response";
char s[1024];
CString msg;
第一步: format加上转换符"_T",并检查格式是否正确,查看括号位置。
msg.format(_T("%s"),ch); //注意括号位置,错误 msg.format(_T("%s",ch))
AfxMessageBox(msg);
第二步,如果依旧有错误运用LPCTSTR
msg.format(_T("%s"),LPCTSTR(ch));
AfxMessageBox(msg);
第三步,如果运用_T 已经进行将字符转码成宽字符,但是还有会出现错误
解决方案:
修改为:
msg.format(_T("%s"),CStringW,(ch));
msg.format(_T("%s"),CStringW(s));
成功解决问题
msg.format(_T("%s",CStringW(ch));