dim mem as string
open "c:\123.txt" for binary access read as #1
mem =space(1024)
get #1,,mem
这时你用loc(1)去看文件指针根本不在1024,绝对是超过1024,如果
mem=space(1),这样就不会有问题。
open "c:\123.txt" for binary access read as #1
mem =space(1024)
get #1,,mem
这时你用loc(1)去看文件指针根本不在1024,绝对是超过1024,如果
mem=space(1),这样就不会有问题。
解决方案 »
- 如何获取外部程序datawindow控件内的数据?
- 各位仁兄,请举例一下用VB写的商业程序,听说“超级兔子”是用VB写的????谁说的多,就给多分!!
- 初学者。在线等待。
- 如何实现在datagrid进行编辑,请指教,谢谢,在线等待
- 同志们。姐妹们,大虾们,谁能提供给小弟arviewer空间的下载地址,小生这厢有礼了
- 函数RegNotifyChangeKeyValue在XP下怎样用来实现?
- fishzone请来领分(3)
- 如何读取硬盘的序列号?
- 一个关于CheckBox控件与数据字段绑定的问题。
- 关于MSHFlexGrid背景色的问题
- ComboBox控件的Text属性改变后怎么通知别的对象?
- 非常之急!!!!!加分加分加分加分加分加分加分加分加分加分加分加分
你的"c:\123.txt"前1024个字符中含有中文字符loc(1)-len(mem) 个,若是纯英文字符文本文件就不会存在这个问题。
Dim arrb() As Byte, mem As String
Open "c:\123.txt" For Binary As #1
ReDim arrb(1 To LOF(1))
Get #1, , arrb
Close 1
mem = StrConv(arrb, vbUnicode)
Erase arrb
End Sub
好像不是你说的那样子,因为你的理由解决不了:
Put #1,,string(1000,"*")再debug.pring loc(i)
因为这里面根本没有中文字符。
Private Sub Command1_Click()
Dim MEM As String
MEM = String(1000, "*")
Open "c:\1234.txt" For Binary As #1
Put #1, , MEM
MsgBox Loc(1) 'return 1000
Close 1
End SubPrivate Sub Command2_Click()
Open "c:\1234.txt" For Binary As #1
Put #1, , String(1000, "*")
MsgBox Loc(1)' return 1004
Close 1
End Sub可见,有4 个字节用于指针的保存