我想将本地一个文件读到一个变量中,因为每次只能读32k文件的限制,所以做一个循环,循环读取,但现在有一个问题,就是在我每次读取文件指针所在位置如果是一个汉字,因为占两个字节,所在位置是这两个字节中间位置就会出错:input past end of file.
请问各位大侠,我怎样才能处理这个问题?
或者打开文件方式中有无可自动判断文字,就是将汉字认为一个字符的方式?我的代码如下:
Dim FilePath As String '用来确定文件的位置
Dim n As Integer
Dim Remain As Integer '获得文件最后的字节数
Dim FileNum As Integer '用来在打开文件时分配一个编号
Dim SecLen As Integer '用来确定一个域中所放的字节数
SecLen=30000
FilePath="c:\39C4BA35563334C148256EE00034F861.htm"
FileNum=Freefile()
Open FilePath For Input As FileNum
n=Int(Lof(FileNum)/SecLen)
Remain=Lof(FileNum) Mod (SecLen)
Dim FistStrFile As String
For i=1 To n
aaa=aaa+Inputbp$(SecLen,FileNum)
Next
aaa=aaa+Inputbp$(Remain,FileNum)
Close FileNum
请问各位大侠,我怎样才能处理这个问题?
或者打开文件方式中有无可自动判断文字,就是将汉字认为一个字符的方式?我的代码如下:
Dim FilePath As String '用来确定文件的位置
Dim n As Integer
Dim Remain As Integer '获得文件最后的字节数
Dim FileNum As Integer '用来在打开文件时分配一个编号
Dim SecLen As Integer '用来确定一个域中所放的字节数
SecLen=30000
FilePath="c:\39C4BA35563334C148256EE00034F861.htm"
FileNum=Freefile()
Open FilePath For Input As FileNum
n=Int(Lof(FileNum)/SecLen)
Remain=Lof(FileNum) Mod (SecLen)
Dim FistStrFile As String
For i=1 To n
aaa=aaa+Inputbp$(SecLen,FileNum)
Next
aaa=aaa+Inputbp$(Remain,FileNum)
Close FileNum
解决方案 »
- How to build an Office 2000 COM add-in in Visual Basic?
- 求教,显示提示“非空列不能更新为Null”怎么解决
- vb6中如何存储大于2147483647()的数值
- 如何点击“文件下载”窗口的“打开”、“保存”按钮?
- 新手紧急求教,datareport 导入msflexgrid中的数据的问题,急急。真诚请高手帮忙!
- 关于SQL语句的问题
- 纠正我以前的错误回答
- 学VB前景怎样?
- 如何让本程序在运行的过程中能重新再运行自身呢?见例子:
- 如何在一个程序中触发另一个程序中Label控件的Click事件
- VB访问ORACLE的一个问题~! 在线等待
- 安装包问题,必有高分!不够再加!(在线)
X=""
Open App.Path + "\user.ini" For Input As #1 ' 打开文件。
Do While Not EOF(1)
Line Input #1, T1
X=X & T1 & VBCRLF
loop
Close #1
记得汉字的Asc码是负的
最好用 Byte 数组。 如果需要,可以在读取完毕后再赋值给字符串变量。Dim myStr As String
Dim myArr(65535) As Byte......
myStr = StrConv(myArr, vbUnicode)