VB文件系统编程中的input/line input,print和write语句相同点和区别

由于学习到了文件系统编程,特此做记录:

Input和Line Input都是用于读取文件内容,并将其赋值给变量,其作用在笔者看来是差不多的,区别主要是:

input语句语法:

input 文件号,变量列表
input其后能够跟变量列表,也就是能够将内容分别赋值给几个变量,在文本中用逗号分隔开,也就是说,文本中第一个逗号(英文半角逗号)之前的给变量列表里面的第一个变量,第一个逗号之后,第二个逗号之前的给变量列表里面的第二个变量。代码如下:

VB文件系统编程中的input/line input,print和write语句相同点和区别

input还有一个特点,就是引号包裹的字符串不会把引号读取进来,只会读取里面的字符串(英文半角引号)

以上是书上介绍的,但是经过笔者亲测input语句还有一个特点:顺序文件里面出现多行的时候(每一行都没有英文半角逗号)就会把一行的内容赋值给变量列表里面的一个变量。代码如下:

VB文件系统编程中的input/line input,print和write语句相同点和区别


Line input语句语法:

Line input #1,变量

其功能和input语句差不多,但是line input语句是读取一行数据,并赋值给变量,此处后面跟的变量是变量,不是变量列表,如果要读取多行,需使用多个line input语句。并且会把文档中有引号包裹的字符串连引号一起输出出来:

VB文件系统编程中的input/line input,print和write语句相同点和区别

还有一点需要注意,既然input语句和line input语句都是用于读取文件内容并赋值,那么,其打开模式得用读取方式,如:input


input函数:

input函数语法:input(需要读取的字符数,文件号)

既然是函数肯定有返回值,返回值为文件号对应的字符数,这里需要注意的是当遇到换行的时候会把每一次换行当成是两个字符来读取,我也不知道是为什么。代码如下:

VB文件系统编程中的input/line input,print和write语句相同点和区别

如上例,文本中的第一行明明是10个字符,但是当笔者设置读取12个字符的时候读取到的还是那10个字符,只有当改成读取13个字符的时候才会读取下一行的引号,具体我也不清除是为什么。

关于input与line input语句还有一个重要的共同点,打开模式都必须为读取形式,就是用input方式打开。



print与write

print与write都是用于对文件写入,所以其打开模式都必须为写入方式如:output/append

print语句语法:print 文件号,写入内容

该处的写入内容可以是变量,也可以是具体的内容,案例如下:

VB文件系统编程中的input/line input,print和write语句相同点和区别

当然,用print语句也可以一次写入多个内容:

VB文件系统编程中的input/line input,print和write语句相同点和区别

大家应该发现了引号不会写入,这也是print语句与write语句最大的区别,下面说write语句。


write语句语法:write 文件号,写入内容

代码如下:

VB文件系统编程中的input/line input,print和write语句相同点和区别

大家应该观察到区别了,引号会一起写入,并且写入的多个数据之间会自动用英文半角逗号分隔。