【发布时间】:2015-07-09 16:45:06
【问题描述】:
我有一部分较大的 sql 查询存储为 LPCTSTR
LPCTSTR var = _T(" SELECT ...");
而且效果很好。我需要用变量修改查询,所以我正在尝试
CString sqlQuerry = _T(" SELECT ... %s");
CString sqlString, stringVar = _T("variable");
sqlString.Format(sqlQuerry, stringVar);
var = (LPCTSTR)sqlString; // var is LPCTSTR type
当我在调试器中观看时,var 看起来不错,但是当我运行应用程序时,输出窗口显示奇怪的字符而不是我的查询 (°YQ)。
我删除了修改部分,所以现在它只是
CString sqlQuerry = _T(" SELECT ...");
var = (LPCTSTR)sqlQuerry;
但调试输出中仍有奇怪的字符。对我来说似乎是编码问题,我做错了什么?
【问题讨论】:
-
你的 unicode 标志打开了吗?当您更改为 MBCS 时会发生什么?