有如下过程: Sub proc() Dim ch As String Open "file1.txt" For Input As #1 Open "file1_bak.txt" For Output As #2 Do Whi

admin2019-03-14  17

问题 有如下过程:
Sub proc()
    Dim ch As String
    Open "file1.txt" For Input As #1
    Open "file1_bak.txt" For Output As #2
    Do While Not EOF(1)
        ch = Input$(1, #1)
        Print #2, ch;
    Loop
    Close #1, #2
End Sub
这一过程的功能是

选项 A、读入文件file1.txt的内容在窗体上显示
B、读入文件file1_bak.txt的内容在窗体上显示
C、把文件file1_bak.txt复制为file1.txt文件
D、把文件file1.txt复制为file1_bak.txt文件

答案D

解析 Open语句兼有打开文件和建立文件两种功能。Output和Input分别指定文件顺序输出方式和顺序输入方式。Open "file1.txt" For Input As #1意思是以顺序输入方式打开已经存在的file1.txt文件; Open "file1_bak.txt" For Output As #2的意思是以顺序输出方式打开数据文件file1_bak.txt,新写入的数据将覆盖原来的记录,如果文件不存在,则建立一个文件。Input$(n, #文件号)该函数返回从指定文件中读出的n个字符的字符串(即它可以再数据文件中读取指定数目的字符),ch = Input$(1, #1)语句是从文件号为1的文件中读出1个字符,并将其赋值给ch。Print#文件号,实现的功能是把数据写入文件中,Print #2,ch是把ch输入到文件号为2的文件中。两个语句实际上就是把文件号为1的中的1个字符复制到文件2中。EOF函数用来返回测试文件的结束状态,对于顺序文件来说,如果已达到文件尾,则函数返回值为True,否则返回值为False。利用EOF函数,可以避免在文件输入时出现"输入超出文件尾"的错误。EOF(n)的含义是已到达文件尾,Not EOF(n)的含义是没有到达n所对应文件的末尾。 Do While Not EOF(1)保证循环执行,直到已到达文件号为1的文件尾。利用Do While Not EOF(1),循环执行以上Input和Print语句,则是把文件号为1的文件内容复制到文件号为2的文件中,即把文件file1.txt复制为file1_bak.txt文件,故D选项正确,C选项错误。程序中并没有窗体上显示的程序语句,故A项和B项错误。故选择D项。
转载请注明原文地址:https://kaotiyun.com/show/CbUp777K
0

最新回复(0)