在同一行定义两个byte型变量,则向二进制文件输出时就会发生错误
编号:QA003541
建立日期: 2000年11月13日 最后修改日期:2000年11月13日
所属类别:
dave:
操作系统: windows 98 中文第二版
编程工具: visual basci 6.0 中文版
问题: 在同一行定义两个byte型变量,则向二进制文件输出时就会发生错误!例如:
Option Explicit
Dim by, mytt As Byte
Dim fno As Integer
Private Sub Command1_Click()
fno = FreeFile()
Open "c:\temp.dat" For Binary As fno
by = 255
Put fno, 1, by
Close fno
Unload Me
End Sub
则输出结果为 02 00 ff 00,此结果不可理解,如果把两个byte型变量分开定义,则结果为ff 00 我想此结果是正确的。请问这是为什么,是vb的一个bug吗?谢谢!
水平: 中级
回答:
问题在于你的定义方法。在VB看来
Dim by, mytt As Byte
和
Dim by As Byte, mytt As Byte
是不同的定义。前者by是Variant类型(因为你没有说明它的类型),而后者by是Byte类型。而对于你的情况,VB是使用两个字节(当做Integer处理)保存by的数据的,而不是一个字节。
此问题由李海回答。
| |
|
|
| |
|
|