write

语法

write(handle, object, [offset=0], [length])

详情

write 函数把指定的缓冲区转换为字节流,并保存到文件中。缓冲区可以是各种数据类型的标量或向量。如果发生了错误,将抛出 IOException。否则,函数返回写入元素的个数(而不是字节数)。read! 函数将给定数量的元素读取到缓冲区。例如,如果缓冲区是 INT 向量,该函数将把文件中的字节转换为 INT。writeread 函数都涉及到流和字节之间的转换问题,和计算机科学中多字节的字的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