MFC中怎样将 CString 转为 char*
charStr[256],*pStr=Str;CStringab=“111111”;怎样将ab赋给*pStr?试了好几个网上找的函数编译通过但程序执行时都会出现错误,貌似...
char Str[256], *pStr=Str;
CString ab = “111111”;
怎样将ab赋给*pStr? 试了好几个网上找的函数编译通过但程序执行时都会出现错误,貌似是没有传进来。求各路大神帮忙,急!!! 展开
CString ab = “111111”;
怎样将ab赋给*pStr? 试了好几个网上找的函数编译通过但程序执行时都会出现错误,貌似是没有传进来。求各路大神帮忙,急!!! 展开
4个回答
展开全部
微软有现成的转换函数,如下,在前面加个宏定义,USES_CONVERSION;然后用宏转换T2A。
CString str = _T("中国人");
USES_CONVERSION;
char* p = T2A(str.GetBuffer(0));
str.ReleaseBuffer();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
memcpy(pStr,ab.GetBuffer(0),ab.GetLength()*sizeof(TCHAR));
ab.ReleaseBuffer();
更多追问追答
追问
追答
mfc程序,没必要使用char*,基本上都可以用CString搞定。转来转去有时候还涉及编码问题,很麻烦。
如果使用memcpy依然出现这个问题,那么可以确认不是CString转换造成的。建议你贴出更多代码来寻求帮助,或者,通过调试或者AfxMessageBox确认具体哪里出现的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在CString变量前面直接加(char*)(const wchar_t *)或(LPSTR)(LPCTSTR)或(char*)(LPCTSTR)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询