write
语法
write(handle, object, [offset=0], [length])
详情
write
函数把指定的缓冲区转换为字节流,并保存到文件中。缓冲区可以是各种数据类型的标量或向量。如果发生了错误,将抛出
IOException。否则,函数返回写入元素的个数(而不是字节数)。read!
函数将给定数量的元素读取到缓冲区。例如,如果缓冲区是 INT 向量,该函数将把文件中的字节转换为 INT。write
和
read
函数都涉及到流和字节之间的转换问题,和计算机科学中多字节的字的0端问题。大端的最重要位位于最低地址,而小端的最不重要位位于最低地址。write
函数总是使用操作系统的大小端。如果文件的大小端和操作系统的大小端不同,read!
函数将转换大小端。在使用
file
函数打开文件时,有可选的布尔参数用于表明文件采用的大小端。默认情况下,采用操作系统的大小端。
例子
x=10h
y=0h
file("test.bin","w").write(x);
# output
1
file("test.bin","r",true).read!(y); // 假设文件格式是小端
# output
1
y;
# output
10
file("test.bin","r",false).read!(y); // 假设文件格式是大端
# output
1
y;
# output
2560