📄 subject_30666.htm
字号:
<p>
序号:30666 发表者:赵辉 发表日期:2003-02-25 14:34:00
<br>主题:VC中的BYTE、VARIANT、COleSafeArray?
<br>内容:在VC中,BYTE这种数据类型的数据是怎样一种形式呢?我可以把怎样的数据存成这种数据?<BR>在VC中,VARIANT和COleSafeArray又是一种怎样的数据类型呢?在编写串口通信时,该怎样利用他们呢?我看过一个程序,将从串口里读进来的数据存放在一个VARIANT类型的数据里,然后又把这些数据强制转换成COleSafeArray类型的数据,最后又把他们放到一个BYTE类型的数组里面。我不知道为什么要这样做?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:LJ 回复日期:2003-02-25 19:20:22
<br>内容:1、BYTE 的定义是 unsigned char,最大表示 0~255 个数。如果有一个 ANSI 的字符串,直接转就成,如果是一个 int, 如 int a = 1234567; 那就要有 4 个 BYTE 来放它,可以这样写 BYTE buf[4]; *((int*)buf) = a;<BR>2、VARIANT 是一个 union,union 的定义查 C 语言的任何书都可,它的主要作用是将各种不同的数据类型统一在一个结构中,这一点,对于 VB 及脚本来说很重要。<BR>3、COleSafeArray 是 SAFEARRAY 的 MFC 封装,SAFEARRY 好象是模拟的 VB 中的数组,因为在 VB 中,一个数组还有其它的信息(大小,类型等),所不不能简单用 type** 表示。<BR>你所看到的程序可能是与 VB 的串口控件相关的操作,在 C++ 中,直接用 CreateFile API 打开串口来进行读写,没有那么麻烦的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -