主题:关于SPACE的话题
net56789
[专家分:210] 发布于 2012-03-09 20:47:00
K$=SPACE$(100)
R$=SPACE$(512)每次可以读写512个字节,如果用R$=SPACE$(1024)可以每次读写1024个字节
这个我很不理解.求帮助!!!
回复列表 (共4个回复)
沙发
moz [专家分:37620] 发布于 2012-03-09 22:15:00
Space$( ) 获得空格的个数的字符串.
例如 Space$(2) 就是两个空格
Space$(1024) 就是1024个空格
板凳
net56789 [专家分:210] 发布于 2012-03-10 21:20:00
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 楼
moz [专家分:37620] 发布于 2012-03-11 13:12:00
可能你有些概念没整明白,应该多去尝试,从中证明你自己心里的疑问,
什么样的代码,会得到什么样的结果,这个结果,是不是自己所要的,
或者,做些什么样的改动,才能得到不同的结果.
1. space$( )这个函数的作用我在上面已经讲过了.
2. 在你的程序里面,get #1,i,k$ 会按照k$的长度去读文件的数据,当k$是1024个空格,它的长度就是1024,就会从文件中读取1024个字节.
如果你在代码过程中改变k$的长度,会以k$的当时的长度读取相应的字节数.如果k$是空字符串时候,一般会认为它的值是chr$(0),虽然字符串长度应该是0,但读文件的时候会按1个字符串来进行读取.
3. 在你的循环里面,因为两个文件的打开方式都是以binary方式打开的,所以在写文件put的时候,省略中间的位置值是对的,它会在默认的文件尾添加数据.
但get那里就有点问题了.到底是什么问题,你自己多尝试多找问题多思考多理解吧,我说了,你也不会多费心思的.
4 楼
net56789 [专家分:210] 发布于 2012-03-11 15:54:00
首先谢谢MOZ对(后来者)我的帮扶!
也怪自己太懒,不愿意多尝试.再谢!
回看程序是自己的脚步放得太小了.STEP 放大点合适点.
请MOZ点评!!
我来回复