回 帖 发 新 帖 刷新版面

主题:关于SPACE的话题

K$=SPACE$(100)

R$=SPACE$(512)每次可以读写512个字节,如果用R$=SPACE$(1024)可以每次读写1024个字节
  
   这个我很不理解.求帮助!!!

回复列表 (共4个回复)

沙发

Space$( )   获得空格的个数的字符串.
例如 Space$(2) 就是两个空格
Space$(1024) 就是1024个空格

板凳

k$=space$(1024)
open "c:\test.mp3" for binary as #1
open "c:\test1 for binary as #2
for i=1 to lof(1)
get #1,i,k$
put #2,,k$
next i
close
这段代码中的SPACE$(1024)是不是每一次读写
就代表1024个字节??

3 楼

可能你有些概念没整明白,应该多去尝试,从中证明你自己心里的疑问,
什么样的代码,会得到什么样的结果,这个结果,是不是自己所要的,
或者,做些什么样的改动,才能得到不同的结果.

1. space$( )这个函数的作用我在上面已经讲过了.

2. 在你的程序里面,get #1,i,k$ 会按照k$的长度去读文件的数据,当k$是1024个空格,它的长度就是1024,就会从文件中读取1024个字节.
   如果你在代码过程中改变k$的长度,会以k$的当时的长度读取相应的字节数.如果k$是空字符串时候,一般会认为它的值是chr$(0),虽然字符串长度应该是0,但读文件的时候会按1个字符串来进行读取.

3. 在你的循环里面,因为两个文件的打开方式都是以binary方式打开的,所以在写文件put的时候,省略中间的位置值是对的,它会在默认的文件尾添加数据.
   但get那里就有点问题了.到底是什么问题,你自己多尝试多找问题多思考多理解吧,我说了,你也不会多费心思的.

4 楼

首先谢谢MOZ对(后来者)我的帮扶!
也怪自己太懒,不愿意多尝试.再谢!
回看程序是自己的脚步放得太小了.STEP 放大点合适点.
请MOZ点评!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册