怎么样把CString 转换为 char []???? 怎么样把CString 转换为 char []???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果不是unicode工程,直接用strcpy拷贝,不需要转换如果是unicode工程,用函数WideCharToMultiByte,参考http://www.cppblog.com/greatws/archive/2008/08/31/60546.html http://book.77169.org/ask18/how107610.htm看看能不能帮到你。 CString str;char *zz=str.GetBuf(); 如果是UNICODE,可以用WideCharToMultiByte,或者W2A宏如果是ANSI,直接调用str.GetBuffer()即可以 这个能转换成char*;CString str1 = "hello world";LPCTSTR p = str1;//将CString类型的str1转换为char * ,得到指针p 对于宽字符unicode:CString str;wcscpy_s(*char,str.GetLength()+1,str);//对于ANSI也可以用相关的拷贝函数,详细的见MSDN CString m_strEditRXData;char FengGe[500];m_strEditRXData="XXXXX"//给CString型变量m_strEditRXData赋值//下面是把CString型变量m_strEditRXData放入char型数组FengGe中memset(FengGe,0x00,500); //注意字符型数组定义多大,这里最后一个参数就写多大,在这是500 memcpy(FengGe,(LPCSTR)m_strEditRXData,m_strEditRXData.GetAllocLength());上面最后两行执行完后就把把CString 转换为 char [],你自己试试,希望对你有帮助!! char buf[100] = {0};CString str = "I love vc";strcpy(buf, (LPCTSTR)str); ANSI:CString::GetBuffer()或者强制转换 (LPCTSTR)CStringUnicode:先用WideCharToMultiByte转为ANSI GetBuffer()即可以用后要释放ReleaseBuffer(); char buf[100] = {0}; CString str = "I love vc"; sprintf(buff,"%s",str); 不用转吧...直接用下标...CString str = "abcd"if( str[0] == 'a' ) char buf[100] = {0}; CString str = "I love vc"; sprintf(buff,"%s",str); 方法有很多,这里我列举三种:一.使用GetBuffer函数char *p;CString str="hello";p=str.GetBuffer(str.GetLength());str.ReleaseBuffer();二.使用memcpy()函数CString mCS=_T("hello");char mch[20];memcpy(mch,mCS,mCS.GetLength());三.使用LPCTSTR强制类型转换char *ch;CString str=_T("hello");ch=(LPSTR)(LPCTSTR)str;以上三种方法都可以的. 怎么实现任意形状图形的截取? 对话框问题, CListCtrl 问题 求助高手解决一小问题,在线等,分不够再加,满意立即结贴 我的程序为什么运行时出现错误!! 对话框绘制位图做背景,响应重绘消息时控件消失的问题 关于端口问题。 初学网络编程,关于数据打包时数据类型处理的问题,请教大家。 是不是该学门快速开发工具 Debug时没错误,但运行时出现Debug Assertion Failed 的错误 在线求助! 急!! 跟着有分 VC中Access数据库的问题,总是提示操作失败,无当前记录! 简单的问题 循环创建多个线程 创建的时间间隔问题
看看能不能帮到你。
char *zz=str.GetBuf();
如果是ANSI,直接调用str.GetBuffer()即可以
这个能转换成char*;
CString str1 = "hello world";
LPCTSTR p = str1;//将CString类型的str1转换为char * ,得到指针p
CString str;
wcscpy_s(*char,str.GetLength()+1,str);//对于ANSI也可以用相关的拷贝函数,详细的见MSDN
char FengGe[500];
m_strEditRXData="XXXXX"//给CString型变量m_strEditRXData赋值
//下面是把CString型变量m_strEditRXData放入char型数组FengGe中
memset(FengGe,0x00,500); //注意字符型数组定义多大,这里最后一个参数就写多大,在这是500
memcpy(FengGe,(LPCSTR)m_strEditRXData,m_strEditRXData.GetAllocLength());上面最后两行执行完后就把把CString 转换为 char [],你自己试试,希望对你有帮助!!
CString str = "I love vc";
strcpy(buf, (LPCTSTR)str);
CString::GetBuffer()或者强制转换 (LPCTSTR)CStringUnicode:先用WideCharToMultiByte转为ANSI
用后要释放ReleaseBuffer();
CString str = "I love vc";
sprintf(buff,"%s",str);
直接用下标...
CString str = "abcd"
if( str[0] == 'a' )
CString str = "I love vc";
sprintf(buff,"%s",str);
一.使用GetBuffer函数
char *p;
CString str="hello";
p=str.GetBuffer(str.GetLength());
str.ReleaseBuffer();二.使用memcpy()函数
CString mCS=_T("hello");
char mch[20];
memcpy(mch,mCS,mCS.GetLength());三.使用LPCTSTR强制类型转换
char *ch;
CString str=_T("hello");
ch=(LPSTR)(LPCTSTR)str;以上三种方法都可以的.