VC-数据类型
primer_programer
永无止境
展开
-
CString,string,char*之间的相互转换
1,CString 互转 string string str1; CString str2; ① CString 转 string str1 = (LPCTSTR)str2; 或者 string s(CString.GetBuffer()); GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间. ②原创 2007-12-26 14:30:00 · 892 阅读 · 0 评论 -
VC几种数据类型详解
一、BSTR、LPSTR和LPWSTR 在Visual C++.NET的所有编程方式中,我们常常要用到这样的一些基本字符串类型,如BSTR、LPSTR和LPWSTR等。之所以出现类似上述的这些数据类型,是因为不同编程语言之间的数据交换以及对ANSI、Unicode和多字节字符集(MBCS)的支持。 那么什么是BSTR、LPSTR以及LPWSTR呢? BSTR(Basic ST转载 2007-12-26 14:45:00 · 1281 阅读 · 0 评论 -
BSTR、_bstr_t与CComBSTR相互转换
CComBSTR、_bstr_t是对BSTR的封装,BSTR是指向字符串的32位指针。 char *转换到BSTR可以这样: BSTR b=_com_util::ConvertStringToBSTR("数据");///使用前需要加上头文件comutil.h 反之可以使用char *p=_com_util::ConvertBSTRToString(b);原创 2007-12-26 14:40:00 · 1280 阅读 · 0 评论 -
VARIANT与CString相互转换
VARIANT 类型经常用来给 COM 对象传递参数,或者接收从 COM 对象返回的值。你也能自己编写返回 VARIANT 类型的方法,函数返回什么类型 依赖可能(并且常常)方法的输入参数(比如,在自动化操作中,依赖与你调用哪个方法。IDispatch::Invoke 可能返回(通过其一个参数)一个 包含有BYTE、WORD、float、double、date、BSTR 等等 VARIAN转载 2007-12-26 14:39:00 · 7107 阅读 · 0 评论 -
CString 互转 BSTR 型
CString 型转化成 BSTR 型当我们使用 ActiveX 控件编程时,经常需要用到将某个值表示成 BSTR 类型.BSTR 是一种记数字符串,Intel平台上的宽字符串(Unicode),并且可以包含嵌入的 NULL 字符。可以调用 CString 对象的 AllocSysString 方法将 CString 转化成 BSTR:CString str;str = ....原创 2007-12-26 14:37:00 · 2451 阅读 · 0 评论 -
求高位字和低位字的值
有一个32位的整型数,拿DWORD为例。我要求它的高16位和低16位的值。也就是高位字和低位字的值。(一个字节8位,一个字两个字节) 开始我还用windows自带的计算器由十进制转为二进制,然后再取高16位和低16位的二进制,算出十进制的整数。后来发现,用HIWORD和LOWORD宏就可以算出。原创 2007-12-26 17:38:00 · 4130 阅读 · 0 评论 -
CString Format一个LONGLONG型数据
LONGLONG型是64位有符号的整形数。第一位代表符号。所以LONGLONG型最大数为263 - 1 = 9223372036854775807; 方法如下:LONGLONG llMaxSize = 9223372036854775807;CString strLongToCstr;strLongToCstr.Format("%I64d", llMaxS原创 2007-12-26 17:35:00 · 6500 阅读 · 3 评论 -
CString 与 CComVariant 转换
1. CString 转成 CComVariantCComVariant oComVarResult;CString strResult;oComVarResult.ChangeType( VT_BSTR );strResult = oComVarResult.bstrVal;原创 2007-12-26 15:13:00 · 4342 阅读 · 0 评论 -
多字节与宽字节相互转换的方法
也就是WideCharToMultiByte和MultiByteToWideChar函数的使用方法。多字节向宽字节转换:wstring converToWideChar( const string& str ){ int len = 0; len = str.length(); int unicodeLen = ::MultiByteToWideChar(CP_UTF8,0原创 2007-12-26 15:12:00 · 2609 阅读 · 0 评论 -
Char[] 引起的 unsigned shot* 转 char* 的错误
最终查找到原因,存放UNICODE STRING后就不是char数组了。 而是unsigned short数组,存入,读取都要按照unsigned short数组来做。 因此在Unicode编码下,char[]属于宽字符格式。转成多字节的字符串需要用WideCharToMultiByte函数。原创 2007-12-26 15:11:00 · 1186 阅读 · 0 评论 -
CString 操作指南
通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章不是CString的完全手转载 2007-12-26 14:53:00 · 629 阅读 · 0 评论 -
static_cast、dynamic_cast、reinterpret_cast和const_c
关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化》。最好的解决方法就是不要使用C风格的强制类型转换,而是使用标准C++的类型转换符:static_cast, dynamic_cast。标准C++中有四个类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面对它们一一进行介绍。st转载 2007-12-26 14:51:00 · 557 阅读 · 0 评论 -
VC常用数据类型转换
一、其它数据类型转换为字符串 短整型(int)itoa(i,temp,10);///将i转换为字符串放入temp中,最后一个数字表示十进制itoa(i,temp,2); ///按二进制方式转换 长整型(long)ltoa(l,temp,10); 浮点数(float,double)用fcvt可以完成转换,这是MSDN中的例子:int decimal,转载 2007-12-26 14:48:00 · 720 阅读 · 0 评论 -
VARIANT、_variant_t 与 COleVariant 相互转换
VARIANT的结构可以参考头文件VC98/Include/OAIDL.H中关于结构体tagVARIANT的定义。 对于VARIANT变量的赋值:首先给vt成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值,举个例子: VARIANT va; int a=2001; va.vt=VT_I4;///指明整型数据 va.lVal=a; ///赋值 对于不马上赋值的转载 2007-12-26 14:43:00 · 2261 阅读 · 0 评论 -
数学类型与字符类型相互转换
数学类型变量与字符串相互转换(这些函数都在STDLIB.H里)(1)将数学类型转换为字符串可以用以下一些函数:举例: _CRTIMP char * __cdecl _itoa(int, char *, int);//这是一个将数字转换为一个字符串类型的函数,最后一个int表示转换的进制如以下程序:int iTyep=3;char *szChar;itoa(iType,sz原创 2007-12-26 14:35:00 · 1216 阅读 · 0 评论 -
VC常用数据类型列表
Type Default Size Descript转载 2007-12-26 14:33:00 · 560 阅读 · 0 评论 -
char*,int,CString之间的转换
1,从char* 转换成 int char * ch; int num; num = atoi(ch); 详细的如下: #include int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); long l原创 2007-12-26 14:31:00 · 754 阅读 · 0 评论 -
使用CString常量时出现的问题
问题: error C2663: ATL::CSimpleStringT::GetBuffer : 2 オーバーロードに this ポインタのための必要な定義がされていません。 with [ BaseType=wchar_t, t_bMFCDLL=true ]此问题出现情况:定义常量CS原创 2007-12-26 17:43:00 · 2793 阅读 · 0 评论