由于使用的是VS2013,所以在MFC中是UNICODE字符集,所以总是不能很好地解决LPCTSTR的问题,到处显示是没有合适的什么char,string,等等到LPCTSTR的转换,尤其是当我要将文本信息显示在MFC的静态文本控件中时,使用SetWindowTextW函数,就一直显示是乱码,试过网上的各种方法,最终还是找到一个很简单的方法就解决了。
<span style="color: rgb(51, 51, 51); white-space: pre;"> </span><span style="color:#333333;">double total_err = 0.3234;
char str[10];
char* totalErr = gcvt(total_err, 5, str);
</span><strong><span style="color:#ff0000;">CString theString(str); </span></strong><span style="color:#333333;">
GetDlgItem(IDC_ERROR_TOTAL)->SetWindowTextW(theString);</span>已经试过是可行的,显示没一点问题。

本文介绍了一个简单有效的方法来解决MFC应用程序中使用LPCTSTR时出现的乱码问题,尤其是在使用SetWindowTextW函数显示文本信息时。通过将char类型的数据转换为CString类型并设置为控件的文本,可以完美地避免乱码问题。
1646

被折叠的 条评论
为什么被折叠?



