我从一个文件(.stl)中取数写道另外的一个文件(.txt)中
dim str1 as string
open "e:\data.stl" for input as #1
open "e:\data.txt" for output as #2
do
input #1,str1
output #2,str1
loop until len(str1)<2  '文件1中的每行的数据都是大于2个的,只有最后一行小于2
close #1
close #2
我发现如果循环次数过长,他就会出现错误,说“input past file”
但是如果我写成:
dim str1 as string
open "e:\data.stl" for input as #1
open "e:\data.txt" for output as #2
input #1,str1
output #2,str1
input #1,str1
output #2,str1
.....
.....
input #1,str1
output #2,str1
close #1
close #2
这样的形式 ,就不会产生问题,这是为什么呀?还有就是我编译的时候,总觉得debug说的不够详细,是不是只能这样还是有什么消息窗口我没有打开?

解决方案 »

  1.   

    对不起大家,在这里犯了一个低级错误,问题在于我的判断语句len()<2
    打开一个txt文件,在文件最后,光标不可以换行,但是并不占一个字符,原来我理解这样也算一行,其实不是,这里就是文件的结尾。
      

  2.   

    dim str1 as string
    open "e:\data.stl" for input as #1
    open "e:\data.txt" for output as #2
    do while not eof(1)
      input #1,str1
      output #2,str1
    loop 
    close #1
    close #2