在Rust中将二进制数写入文件并检索,可以通过以下步骤实现:
use std::fs::File;
use std::io::{Read, Write};
fn write_binary_to_file() -> std::io::Result<()> {
let binary_data: [u8; 4] = [0b0000_0001, 0b0000_0010, 0b0000_0011, 0b0000_0100];
let mut file = File::create("binary_data.bin")?;
file.write_all(&binary_data)?;
Ok(())
}
在上述代码中,我们创建了一个包含四个二进制数的数组binary_data
,然后使用File::create
函数创建一个名为binary_data.bin
的文件,并将二进制数据写入文件中。
fn retrieve_binary_from_file() -> std::io::Result<Vec<u8>> {
let mut file = File::open("binary_data.bin")?;
let mut binary_data = Vec::new();
file.read_to_end(&mut binary_data)?;
Ok(binary_data)
}
在上述代码中,我们使用File::open
函数打开之前创建的文件,并使用read_to_end
函数将文件中的二进制数据读取到一个Vec<u8>
类型的变量binary_data
中。
完整的代码示例:
use std::fs::File;
use std::io::{Read, Write};
fn write_binary_to_file() -> std::io::Result<()> {
let binary_data: [u8; 4] = [0b0000_0001, 0b0000_0010, 0b0000_0011, 0b0000_0100];
let mut file = File::create("binary_data.bin")?;
file.write_all(&binary_data)?;
Ok(())
}
fn retrieve_binary_from_file() -> std::io::Result<Vec<u8>> {
let mut file = File::open("binary_data.bin")?;
let mut binary_data = Vec::new();
file.read_to_end(&mut binary_data)?;
Ok(binary_data)
}
fn main() {
write_binary_to_file().expect("Failed to write binary data to file");
let binary_data = retrieve_binary_from_file().expect("Failed to retrieve binary data from file");
println!("Retrieved binary data: {:?}", binary_data);
}
这段代码将二进制数写入名为binary_data.bin
的文件中,并从文件中检索二进制数。你可以根据需要修改文件名和二进制数据。
领取专属 10元无门槛券
手把手带您无忧上云