高分求c#和C++(或C)之间等数据类型转换对照表

mxx123 2008-11-10 03:50:37
高分求c#和C++(或C)之间等数据类型转换对照表!
最好是MSDN里的,谢谢了!
...全文
172 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
why2xy 2009-03-05
  • 打赏
  • 举报
回复
我问一下,C++类里面的纯虚函数,静态函数,结构体,枚举以及类指针在C#里面都需要如何处理?
sunshine_anycall 2008-11-10
  • 打赏
  • 举报
回复
c++的东西好多是不确定的
比如char有的是带符号的,有的是不带的
int型在不同的平台下对应的最大和最小值页是不顶的
cpio 2008-11-10
  • 打赏
  • 举报
回复
最近的工作涉及C#调用C++的Dll,顺便总结了下C++和C#的数据类型



C++ C#
=====================================
WORD ushort
DWORD uint
UCHAR int/byte 大部分情况都可以使用int代替,而如果需要严格对齐的话则应该用bytebyte
UCHAR* string/IntPtr
unsigned char* Intptr
char* string
LPCTSTR string
LPTSTR [MarshalAs(UnmanagedType.LPTStr)] string
long int
ulong uint
Handle IntPtr
HWND IntPtr
void* IntPtr
int int
int* ref int
*int IntPtr
unsigned int uint
COLORREF uint
Joker_myth 2008-11-10
  • 打赏
  • 举报
回复
不好意思,没听过,帮顶吧!
真相重于对错 2008-11-10
  • 打赏
  • 举报
回复
具体 search msdn 平台调用
真相重于对错 2008-11-10
  • 打赏
  • 举报
回复
Wtypes.h 中的非托管类型 非托管 C 语言类型 托管类名 说明
HANDLE
void*
System.IntPtr
在 32 位 Windows 操作系统上为 32 位,在 64 位 Windows 操作系统上为 64 位。

BYTE
unsigned char
System.Byte
8 位

SHORT
short
System.Int16
16 位

WORD
unsigned short
System.UInt16
16 位

INT
int
System.Int32
32 位

UINT
unsigned int
System.UInt32
32 位

LONG
long
System.Int32
32 位

BOOL
long
System.Int32
32 位

DWORD
unsigned long
System.UInt32
32 位

ULONG
unsigned long
System.UInt32
32 位

CHAR
char
System.Char
用 ANSI 修饰。

LPSTR
char*
System.String 或 System.Text.StringBuilder
用 ANSI 修饰。

LPCSTR
Const char*
System.String 或 System.Text.StringBuilder
用 ANSI 修饰。

LPWSTR
wchar_t*
System.String 或 System.Text.StringBuilder
用 Unicode 修饰。

LPCWSTR
Const wchar_t*
System.String 或 System.Text.StringBuilder
用 Unicode 修饰。

FLOAT
Float
System.Single
32 位

DOUBLE
Double
System.Double
64 位

Joker_myth 2008-11-10
  • 打赏
  • 举报
回复
SF

110,542

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧