首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于CString 与const char*转换的有关问题,小弟求帮助

2013-01-26 
关于CString 与const char*转换的问题,小弟求帮助我是想利用CString的format函数来实现字符串的变量赋值,

关于CString 与const char*转换的问题,小弟求帮助
我是想利用CString的format函数来实现字符串的变量赋值,然后转成const char*。这是我的程序:
CString st;
 st.Format(L"CREATE SINK CLASS 'Sink%s' LOCATE ELEMENT Sink%s_1' AT %s, %s, 0 ",i3,i3,X1,Y1);
 const char* q=(LPSTR)(LPCTSTR)st;
  net_writesocket(sockdsc,q);执行时出现中断;我觉得是q赋值有问题,我又尝试了 q = st.GetBuffer(sizeof(st));结果编译时出现cannot convert from 'wchar_t *' to 'char *'的错误,求各位大仙帮帮忙了。
[解决办法]
你的工程是用的多字节,还是Unicode ?
[解决办法]
const char* filename =strAviFilePath.GetBuffer(sizeof(strAviFilePath));
[解决办法]
CStringA st;
  st.Format("CREATE SINK CLASS 'Sink%s' LOCATE ELEMENT Sink%s_1' AT %s, %s, 0 ",i3,i3,X1,Y1);
  const char* q=st.operator LPTSTR();
[解决办法]
将widechar 转换为MultiByte   
 

char   lpszFile[128];  
int   nLen   =   wcslen(yourwidechar)+1;    
WideCharToMultiByte(CP_ACP,   0,   filename,   nLen,   lpszFile,   2*nLen, NULL,   NULL);

热点排行