苏州室内设计学校,推广优化网站排名,dw 做简单静态网站,易讯网站建设介绍一些常用数据类型的使用。先定义一些常见类型变量借以说明int i 100;long l 2001;float f300.2;double d12345.119;char username[]张三;char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串短整型(int)itoa(i,tem…介绍一些常用数据类型的使用。先定义一些常见类型变量借以说明int i 100;long l 2001;float f300.2;double d12345.119;char username[]张三;char temp[200];char *buf;CString str;_variant_t v1;_bstr_t v2;一、其它数据类型转换为字符串短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式转换长整型(long)ltoa(l,temp,10);浮点数(float,double)用fcvt可以完成转换,这是MSDN中的例子:int decimal, sign; char *buffer; double source 3.1415926535; buffer _fcvt( source, 7, decimal, sign ); 运行结果:source: 3.1415926535 buffer: decimal: 1 sign: 0decimal表示小数点的位置,sign表示符号:0为正数1为负数CString变量str 2008北京奥运;buf (LPSTR)(LPCTSTR)str;BSTR变量BSTR bstrValue ::SysAllocString(L程序员); char * buf _com_util::ConvertBSTRToString(bstrValue); SysFreeString(bstrValue); AfxMessageBox(buf); delete(buf);CComBSTR变量CComBSTR bstrVar(test); char *buf _com_util::ConvertBSTRToString(bstrVar.m_str); AfxMessageBox(buf); delete(buf);_bstr_t变量_bstr_t类型是对BSTR的封装因为已经重载了操作符所以很容易使用_bstr_t bstrVar(test); const char *buf bstrVar;///不要修改buf中的内容 AfxMessageBox(buf);通用方法(针对非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);二、字符串转换为其它数据类型strcpy(temp,123);短整型(int)i atoi(temp);长整型(long)l atol(temp);浮点(double)d atof(temp);CString变量CString name temp;BSTR变量 BSTR bstrValue ::SysAllocString(L程序员); ...///完成对bstrValue的使用SysFreeString(bstrValue);CComBSTR变量CComBSTR类型变量可以直接赋值CComBSTR bstrVar1(test);CComBSTR bstrVar2(temp);_bstr_t变量_bstr_t类型的变量可以直接赋值_bstr_t bstrVar1(test); _bstr_t bstrVar2(temp);三、其它数据类型转换到CString使用CString的成员函数Format来转换,例如:整数(int)str.Format(%d,i);浮点数(float)str.Format(%f,i);字符串指针(char *)等已经被CString构造函数支持的数据类型可以直接赋值str username;对于Format所不支持的数据类型可以通过上面所说的关于其它数据类型转化到char *的方法先转到char *然后赋值给CString变量。四、BSTR、_bstr_t与CComBSTRCComBSTR 是ATL对BSTR的封装_bstr_t是C对BSTR的封