我可以用Rust写二进制代码到文件.但是,当我创建文件时,创建的文件是文本文件,而不是二进制文件.我可以用这样的C++创建一个二进制文件:
ofstream is("1.in", ofstream::binary | ofstream::out | ofstream:: trunc);
Run Code Online (Sandbox Code Playgroud)
在Rust怎么样?这是我的尝试:
struct IndexDataStructureInt {
row: u32,
key_value: u32,
}
let mut index_arr: Vec<IndexDataStructureInt> = Vec::new();
// doing something push 100 IndexDataStructureInt to index_arr
let mut fileWrite = File::create(tableIndexName).unwrap();
for i in 0..index_arr.len() {
write!(
fileWrite,
"{:b}{:b}",
index_arr[i].row, index_arr[i].key_value
);
}
Run Code Online (Sandbox Code Playgroud)
运行此代码后,它会将200 u32整数二进制数写入文件tableIndexName.但是,文件大小不是800字节.大约是4KB.