如何将CString转换为char[] VC/MFC / 基础类
来源:百度文库 编辑:神马文学网 时间:2024/04/29 02:43:56
我也贴一个:
其它数据类型转换为字符串
1。短整型(int)
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
2。长整型(long)
ltoa(l,temp,10);
3。浮点数(float,double)
用fcvt可以完成转换,这是MSDN中的例子:
int decimal, sign;
char *buffer;
double source = 3.1415926535;
buffer = _fcvt( source, 7, &decimal, &sign );
运行结果:source: 3.1415926535 buffer: ‘31415927‘ decimal: 1 sign: 0
decimal表示小数点的位置,sign表示符号:0为正数,1为负数
4。CString变量
str = "2008北京奥运";
buf = (LPSTR)(LPCTSTR)str;
5。BSTR变量
BSTR bstrValue = ::SysAllocString(L"程序员");
char * buf = _com_util::ConvertBSTRToString(bstrValue);
SysFreeString(bstrValue);
AfxMessageBox(buf);
delete(buf);
6。CComBSTR变量
CComBSTR bstrVar("test");
char *buf = _com_util::ConvertBSTRToString(bstrVar.m_str);
AfxMessageBox(buf);
delete(buf);
7。_bstr_t变量
_bstr_t类型是对BSTR的封装,因为已经重载了=操作符,所以很容易使用
_bstr_t bstrVar("test");
const char *buf = bstrVar;///不要修改buf中的内容
AfxMessageBox(buf);
8。通用方法(针对非COM数据类型)
用sprintf完成转换
char buffer[200];
char c = ‘1‘;
int i = 35;
long j = 1000;
float f = 1.7320534f;
sprintf( buffer, "%c",c);
sprintf( buffer, "%d",i);
sprintf( buffer, "%d",j);
sprintf( buffer, "%f",f);
(是转载)
你的问题可以用4。
其它数据类型转换为字符串
1。短整型(int)
itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2); ///按二进制方式转换
2。长整型(long)
ltoa(l,temp,10);
3。浮点数(float,double)
用fcvt可以完成转换,这是MSDN中的例子:
int decimal, sign;
char *buffer;
double source = 3.1415926535;
buffer = _fcvt( source, 7, &decimal, &sign );
运行结果:source: 3.1415926535 buffer: ‘31415927‘ decimal: 1 sign: 0
decimal表示小数点的位置,sign表示符号:0为正数,1为负数
4。CString变量
str = "2008北京奥运";
buf = (LPSTR)(LPCTSTR)str;
5。BSTR变量
BSTR bstrValue = ::SysAllocString(L"程序员");
char * buf = _com_util::ConvertBSTRToString(bstrValue);
SysFreeString(bstrValue);
AfxMessageBox(buf);
delete(buf);
6。CComBSTR变量
CComBSTR bstrVar("test");
char *buf = _com_util::ConvertBSTRToString(bstrVar.m_str);
AfxMessageBox(buf);
delete(buf);
7。_bstr_t变量
_bstr_t类型是对BSTR的封装,因为已经重载了=操作符,所以很容易使用
_bstr_t bstrVar("test");
const char *buf = bstrVar;///不要修改buf中的内容
AfxMessageBox(buf);
8。通用方法(针对非COM数据类型)
用sprintf完成转换
char buffer[200];
char c = ‘1‘;
int i = 35;
long j = 1000;
float f = 1.7320534f;
sprintf( buffer, "%c",c);
sprintf( buffer, "%d",i);
sprintf( buffer, "%d",j);
sprintf( buffer, "%f",f);
(是转载)
你的问题可以用4。
如何将CString转换为char[] VC/MFC / 基础类
如何将STL中的string转化为char或char* 类型的? VC/MFC / 非技术类
VC中BSTR、Char和CString类型的转换
VC中BSTR、Char和CString类型的转换
BSTR、char*和CString转换
BSTR、char*和CString转换
BSTR、char*和CString转换
求助:软件加密方式! - VC/MFC / 基础类
如何改变Windows开机时登陆的验证机制 VC/MFC / 基础类
dll中如何得到一个对话框的句柄 - VC/MFC / 基础类
如何在程序执行比较长时间的处理时弹出一个等待对话框 VC/MFC / 基础类
如何改变Windows开机时登陆的验证机制 VC/MFC / 基础类 - CSDN社区 community.csdn.net
VC中, 为何每次都要重新编译? VC/MFC / 基础类 - CSDN社区 commu...
vc中listbox控件为什么不能横滚动 VC/MFC / 基础类 - CSDN社区 co...
truetype技术及矢量字库问题,大家请进,分数不是问题,急~~~~~~~~~!!!!!!! VC/MFC / 基础类
接触VC之二:MFC类基础,C++程序编写规范介绍
windows下怎么开发c++守护进程? - VC/MFC / 基础类
【原创&交流】PE文件格式的一些研究 - VC/MFC / 基础类
vc中如何调用webservice? VC/MFC / 进程/线程/DLL
LPCSTR---char[] 转换
编译成release版本与debug版本的程序有何执行上的区别? VC/MFC / 基础类...
如何:将字符串转换为 DateTime(C# 编程指南)
如何将word中的项目编号转换为普通文本_AirPlay
如何将磁盘从FAT格式转换为NTFS格式