在unicode环境下写程序,当将CString转换成const char*类型如下三种方法可以解决plcjs.技.术_网
:P.L.C.技.术.网——可编程控制器技术门户
第一: 在COM环境下可使用如下方法,
CString strSQL;
WWW_P※LCJS_CO※M-PLC-技-.术_网
strSQL.Format(_T(INSERT INTO Class(Name) VALUES(%s)),
WWW.PLCJS.COM——可编程控制器技术门户
m_strName.GetBuffer(m_strName.GetLength()));
P.L.C.技.术.网——可编程控制器技术门户
char* pchSQL =_com_util::ConvertBSTRToString(strSQL.GetBuffer(strSQL.GetLength()));
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
plcjs.技.术_网
第二:使用操作系统给出的转换函数,
WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
int nSize = WideCharToMultiByte(CP_ACP,
WWcW_PLCJS_COM-PLC-技.术_网
NULL,
P.L.C.技.术.网——可编程控制器技术门户
strSQL.GetBuffer(strSQL.GetLength()),
WWW_PL※CJS_COM-PLC-技.术_网
-1,
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
NULL,
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
0,
WWW_PLCJS@_COM%-PLC-技.术_网
NULL,
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
FALSE);
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
char* pchStr = new char[nSize];
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WideCharToMultiByte(CP_ACP,
WWW.PLCJS.COM——可编程控制器技术门户
NULL,
P.L.C.技.术.网——可编程控制器技术门户
strSQL.GetBuffer(strSQL.GetLength()),
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
-1,
WWW_P※LCJS_CO※M-PLC-技-.术_网
pchStr,
——可——编——程——控-制-器-技——术——门——户
nSize,
plcjs.技.术_网
NULL,
WWW_PLCJS@_COM%-PLC-技.术_网
FALSE);
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
delete pchStr;
WWcW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
第三:使用C++库给出的转换函数:
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
#include<stdlib.h>
WWW_PLCJS_COM-PLC-技.术_网
......
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
char pchSQL[128] = {0};
WWcW_PLCJS_COM-PLC-技.术_网
wcstombs(pchSQL, strSQL, strSQL.GetLength());
W1WW_P4LCJS_COM-PLC-技.术_网