分类: C/C++
2009-07-09 08:28:58
本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明:
一、其它数据类型转换为字符串
二、字符串转换为其它数据类型 strcpy(temp,"123");
三、其它数据类型转换到CString 使用CString的成员函数Format来转换,例如:
四、BSTR、_bstr_t与CComBSTR
五、VARIANT 、_variant_t 与 COleVariant
Byte bVal; | // VT_UI1. |
Short iVal; | // VT_I2. |
long lVal; | // VT_I4. |
float fltVal; | // VT_R4. |
double dblVal; | // VT_R8. |
VARIANT_BOOL boolVal; | // VT_BOOL. |
SCODE scode; | // VT_ERROR. |
CY cyVal; | // VT_CY. |
DATE date; | // VT_DATE. |
BSTR bstrVal; | // VT_BSTR. |
DECIMAL FAR* pdecVal | // VT_BYREF|VT_DECIMAL. |
IUnknown FAR* punkVal; | // VT_UNKNOWN. |
IDispatch FAR* pdispVal; | // VT_DISPATCH. |
SAFEARRAY FAR* parray; | // VT_ARRAY|*. |
Byte FAR* pbVal; | // VT_BYREF|VT_UI1. |
short FAR* piVal; | // VT_BYREF|VT_I2. |
long FAR* plVal; | // VT_BYREF|VT_I4. |
float FAR* pfltVal; | // VT_BYREF|VT_R4. |
double FAR* pdblVal; | // VT_BYREF|VT_R8. |
VARIANT_BOOL FAR* pboolVal; | // VT_BYREF|VT_BOOL. |
SCODE FAR* pscode; | // VT_BYREF|VT_ERROR. |
CY FAR* pcyVal; | // VT_BYREF|VT_CY. |
DATE FAR* pdate; | // VT_BYREF|VT_DATE. |
BSTR FAR* pbstrVal; | // VT_BYREF|VT_BSTR. |
IUnknown FAR* FAR* ppunkVal; | // VT_BYREF|VT_UNKNOWN. |
IDispatch FAR* FAR* ppdispVal; | // VT_BYREF|VT_DISPATCH. |
SAFEARRAY FAR* FAR* pparray; | // VT_ARRAY|*. |
VARIANT FAR* pvarVal; | // VT_BYREF|VT_VARIANT. |
void FAR* byref; | // Generic ByRef. |
char cVal; | // VT_I1. |
unsigned short uiVal; | // VT_UI2. |
unsigned long ulVal; | // VT_UI4. |
int intVal; | // VT_INT. |
unsigned int uintVal; | // VT_UINT. |
char FAR * pcVal; | // VT_BYREF|VT_I1. |
unsigned short FAR * puiVal; | // VT_BYREF|VT_UI2. |
unsigned long FAR * pulVal; | // VT_BYREF|VT_UI4. |
int FAR * pintVal; | // VT_BYREF|VT_INT. |
unsigned int FAR * puintVal; | //VT_BYREF|VT_UINT. |
六、其它一些COM数据类型
七、ANSI与Unicode Unicode称为宽字符型字串,COM里使用的都是Unicode字符串。
八、其它
九、注意事项
假如需要使用到ConvertBSTRToString此类函数,需要加上头文件comutil.h,并在setting中加入comsupp.lib或者直接加上#pragma comment( lib, "comsupp.lib" )
后记:本文匆匆写成,错误之处在所难免,欢迎指正.