用VB编的读入文本程序,有时能正常读入文本,有时不能,文本均由指定网站下载。请帮忙看一下代码有无问题

百思不得其解,刚下载的文本就无法读取数据,而将该文本打开后,修改任意内容,存盘后运行该代码,结果就正常。这到底是什么原因呢?... 百思不得其解,刚下载的文本就无法读取数据,而将该文本打开后,修改任意内容,存盘后运行该代码,结果就正常。这到底是什么原因呢? 展开
 我来答
网海1书生
科技发烧友

2014-04-10 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
这是因为不同的操作系统对文本分行的定义是不同的,在windows系统中是“回车换行符”(即0D0A),而在Linux/Unix系统中则是“回车符”(0D),所以如果你的文本文件是从Linux/Unix系统的网站上下载的,直接拿到VB中就无法使用了(有些软件会自动识别,可惜VB的Line Input命令不行),而用记事本(或其他文本编辑器)打开后再保存,就会自动转换为Windows格式(或者说DOS格式)的文本了。

补充一点:如果不用Line Input的方式读入文本到数组,而是改用Split函数,那么就可自动读入非DOS格式的文本:
Open fileToOpen For Binary As #1 '注意要用二进制方式读入!
lines = Split(Input(LOF(1), #1), vbCr) '把 vbCr 改为 vbCrLf 即可读入正常的DOS格式文本
Close #1
而且这种方法比你的更简洁!

再补充一点:个别情况下有可能出现用“换行符”(即0A)来给文本分行的,只要把上面的 vbCr 改为 vbLf 即可
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式