var
numread,numwirtten:integer;
fromf,tof:file; //源文件和目标文件
buf:array[0..2048] of char; //定义的缓冲区;
.....
....
repeat
blockread(fromf,buf,sizeof(buf),numread); //从源文件往缓冲区中读;
blockwrite(tof,buf,numread,numwritten) ;
until(numread=0) or (numwritten <> numread) ;
...............
在 blockread(fromf,buf,sizeof(buf),numread
blockwrite(tof,buf,numread,numwritten)
中的参数 fromf,tof 分别是 源文件名和 目标文件名
但是 numread ,numwritten 又是什么意思呢?它们在
blockread() 和 blockwrite()中的作用是什么呢?
请赐教,最好可以给举个例子。
多谢了!! 还有就是 (numread=0) or (numwrite<> numread) 这个语句的作用。
(numread=0) 和 (numwrite<> numread)在上面程序中的具体作用是什么呀?
多谢了!!
numread,numwirtten:integer;
fromf,tof:file; //源文件和目标文件
buf:array[0..2048] of char; //定义的缓冲区;
.....
....
repeat
blockread(fromf,buf,sizeof(buf),numread); //从源文件往缓冲区中读;
blockwrite(tof,buf,numread,numwritten) ;
until(numread=0) or (numwritten <> numread) ;
...............
在 blockread(fromf,buf,sizeof(buf),numread
blockwrite(tof,buf,numread,numwritten)
中的参数 fromf,tof 分别是 源文件名和 目标文件名
但是 numread ,numwritten 又是什么意思呢?它们在
blockread() 和 blockwrite()中的作用是什么呢?
请赐教,最好可以给举个例子。
多谢了!! 还有就是 (numread=0) or (numwrite<> numread) 这个语句的作用。
(numread=0) 和 (numwrite<> numread)在上面程序中的具体作用是什么呀?
多谢了!!
在传输完成的情况下,sizeof(buf)应该和numread是相等的。
numwritten跟numread类似,只不过是已经写入的数据块的数量而已;
那个(numread=0) or (numwrite<> numread)就是说:
只要读取时不发生两种错误时就继续循环
1.没读到数据,比如说要读出的文件为空
2.读和写的数量不一致
明白了吗?