Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2653732
  • 博文数量: 416
  • 博客积分: 10220
  • 博客等级: 上将
  • 技术积分: 4193
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-15 09:47
文章分类

全部博文(416)

文章存档

2022年(1)

2021年(1)

2020年(1)

2019年(5)

2018年(7)

2017年(6)

2016年(7)

2015年(11)

2014年(1)

2012年(5)

2011年(7)

2010年(35)

2009年(64)

2008年(48)

2007年(177)

2006年(40)

我的朋友

分类: WINDOWS

2007-01-16 17:12:38

一.              VC常用数据类型列表

 

Type

Default Size

Description

 

 

 

 

 

 

说明:这些基础数据类型对于MFC还是API都是被支持的
boolean unsigned 8 bit , 取值TRUE/FALSE
byte unsigned 8 bit, 整数,输出按字符输出
char unsigned 8 bit, 字符
double signed 64 bit 浮点型
float signed32 bit 浮点型
handle_t   Primitive handle type
hyper signed 64 bit 整型
int signed 32 bit 整型
long signed 32 bit 整型
short signed 16 bit 整型
small signed 8 bit 整型
void * 32-bit 指向未知类型的指针
wchar_t unsigned 16 bit 16位字符,比char可容纳更多的字符
     
Win32

API

类 

 

说明: 这些Win32API支持的简单数据类型主要是用来定义函数返回值,消息参数,结构成员。这类数据类型大致可以分为五大类:字符型、布尔型、整型、指针型和句柄型(?). 总共大概有100多种不同的类型, 
BOOL/BOOLEAN 8bit,TRUE/FALSE 布尔型
BYTE unsigned 8 bit  
BSTR

CComBSTR

_bstr_t

32 bit BSTR是指向字符串的32位指针

是对BSTR的封装

是对BSTR的封装

CHAR 8 bit (ANSI)字符类型
COLORREF 32 bit RGB颜色值 整型
DWORD unsigned 32 bit 整型
FLOAT float型 float型
HANDLE   Object句柄
HBITMAP   bitmap句柄
HBRUSH   brush句柄
HCURSOR   cursor句柄
HDC   设备上下文句柄
HFILE   OpenFile打开的File句柄
HFONT   font句柄
HHOOK   hook句柄
HKEY   注册表键句柄
HPEN   pen句柄
HWND   window句柄
INT ——– ——–
LONG ——– ———
LONGLONG   64位带符号整型
LPARAM 32 bit  消息参数
LPBOOL   BOOL型指针
LPBYTE   BYTE型指针
LPCOLOREF   COLORREF型指针
LPCSTR/LPSTR/PCSTR   指向8位(ANSI)字符串类型指针
LPCWSTR/LPWSTR/PCWSTR   指向16位Unicode字符串类型
LPCTSTR/LPTSTR/PCTSTR   指向一8位或16位字符串类型指针
LPVOID   指向一个未指定类型的32位指针
LPDWORD   指向一个DWORD型指针
其他相似类型: LPHANDLE、LPINT、LPLONG、LPWORD、LPRESULT

PBOOL、PBOOLEAN、PBYTE、PCHAR、PDWORD、PFLOAT、PHANDLE、PINT、PLONG、PSHORT……

说明:(1)在16位系统中 LP为16bit,P为8bit,在32位系统中都是32bit(此时等价)

(2)LPCSTR等 中的C指Const,T表示TCHAR模式即可以工作在ANSI下也可UNICODE

SHORT usigned 整型
其他UCHAR、UINT、ULONG、ULONGLONG、USHORT为无符号相应类型
TBYTE   WCHAR型或者CHAR型
TCHAR   ANSI与unicode均可
VARIANT

_variant_t

COleVariant

  一个结构体参考OAIDL.H

_variant_t是VARIANT的封装类

COleVariant也是VARIANT的封装类

     
     
WNDPROC   指向一个窗口过程的32位指针
WCHAR   16位Unicode字符型
WORD   16位无符号整型
WPARAM   消息参数
MFC

独有

数据

类型

下面两个数据类型是微软基础类库中独有的数据类型
POSITION 标记集合中一个元素的位置的值,被MFC中的集合类所使用
LPCRECT 指向一个RECT结构体常量(不能修改)的32位指针
CString  其实是MFC中的一个类
     

说明:

(1)——-表示省略

(2)1Byte=8Bit,

字与机器有关,在8位系统中:字=1字节,16位系统中,1字=2字节,32位中:1字=4字节,

64位中1字=8字节.不要搞混这些概念.

 

 

二.常用数据类型转化及操作

2.1 数学类型变量与字符串相互转换(这些函数都在STDLIB.H里)

(1)将数学类型转换为字符串可以用以下一些函数:

举例: _CRTIMP char * __cdecl _itoa(int, char *, int);//这是一个将数字转换为一个字符串类型的函数,最后一个int表示转换的进制

如以下程序:

int iTyep=3;

char *szChar;

itoa(iType,szChar,2);

cout<

类似函数列表:

_CRTIMP char * __cdecl _itoa(int, char *, int);//为了完整性,也列在其中

_CRTIMP char * __cdecl _ultoa(unsigned long, char *, int);

_CRTIMP char * __cdecl _ltoa(long, char *, int);

_CRTIMP char * __cdecl _i64toa(__int64, char *, int);

_CRTIMP char * __cdecl _ui64toa(unsigned __int64, char *, int);

_CRTIMP wchar_t * __cdecl _i64tow(__int64, wchar_t *, int);

_CRTIMP wchar_t * __cdecl _ui64tow(unsigned __int64, wchar_t *, int);

_CRTIMP wchar_t * __cdecl _itow (int, wchar_t *, int);//转换为长字符串类型

_CRTIMP wchar_t * __cdecl _ltow (long, wchar_t *, int);

_CRTIMP wchar_t * __cdecl _ultow (unsigned long, wchar_t *, int);

还有很多,请自行研究

(2)将字符串类型转换为数学类型变量可以用以下一些函数:

举例: _CRTIMP int  __cdecl atoi(const char *);//参数一看就很明了

char *szChar=”88”;

int temp(0);

temp=atoi(szChar);

cout<

类似的函数列表:

_CRTIMP int    __cdecl atoi(const char *);

_CRTIMP double __cdecl atof(const char *);

_CRTIMP long   __cdecl atol(const char *);

_CRTIMP long double __cdecl _atold(const char *);

_CRTIMP __int64 __cdecl _atoi64(const char *);

_CRTIMP double __cdecl strtod(const char *, char **);//

_CRTIMP long   __cdecl strtol(const char *, char **, int);//

_CRTIMP long double __cdecl _strtold(const char *, char **);

_CRTIMP unsigned long __cdecl strtoul(const char *, char **, int);

_CRTIMP double __cdecl wcstod(const wchar_t *, wchar_t **);//长字符串类型转换为数学类型

_CRTIMP long   __cdecl wcstol(const wchar_t *, wchar_t **, int);

_CRTIMP unsigned long __cdecl wcstoul(const wchar_t *, wchar_t **, int);

_CRTIMP int __cdecl _wtoi(const wchar_t *);

_CRTIMP long __cdecl _wtol(const wchar_t *);

_CRTIMP __int64   __cdecl _wtoi64(const wchar_t *);

阅读(684) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~