有一结构体:
typedef struct HY
{
char Code[10];//数字与字母
char Name[20];//这里是中文
UINT Type;
long Pm;
float PF;
long PL;

}TYH;现在要把结构体里的数据,转换成SQL语句以前使用PHP是,只要把变量带上就可以了。
在这里不行。
我怎么样才能转换成类似
 sql="install  into table(a,b,c)value (tyh.code,tyh.name,tyh.type,) "我找到
char 转 CString 
  CString.format("%s", char*);  可是我一转换, 
CString tmp;
tmp=Cstring.format("%s",tyh.code);结果看到tmp="烫烫烫烫烫烫烫烫烫烫烫烫"请教一下,我怎么样才能转换过来。
感谢。

解决方案 »

  1.   

    查找一下,这个是错误的:tmp=Cstring.format("%s",tyh.code);改成:
    tmp.Format("%s",tyh.code);也不对。
      

  2.   

    首先你的工程字符集是多字节,还是UNICODE的。
    如果是是UNICODE的,char肯定会乱码
      

  3.   

    CString tmp;
    tmp.format(_T("%s"), CString(tyh.code));
      

  4.   

    楼主,如果可以的话
    char Code[10];//数字与字母
    char Name[20];//这里是中文
    都用CString比较方便。而且他们重新转换成char[]也比较方便
    比如
    CString codeS;
    char  codeC[10];
    USES_CONVERSION;
    codeC=T2A(codeS.GetBuffer(10));如果非要用char[]这个话,那就像楼上的楼上说的,首先确定你的工程字符集是多字节,还是UNICODE的。
    如果是unicode的话,可以用这个宏转换A2W()把char转换成unicode的
      

  5.   

    确定是工程字符集的问题。重建,把Unicode去掉。
    好了。