刚接触vc编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用.
int i = 100; 【程序编程相关:CPropertyPage检测数据有效性】
我们先定义一些常见类型变量借以说明 【推荐阅读:用VC++设计语法编辑器】
float f=300.2; 【扩展信息:VC如何实现透明窗口】long l = 2001;double d=12345.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: 31415927 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); ... 下一页