为什么使用fs::write多次写入文件不起作用



此源代码摘录了一个模拟生命游戏的函数。我正在尝试将游戏网格的内容写入一个文件。

fn populate_to_file(filename: &String, world: [[u8; 75]; 75]) {
let path = std::fs::File::create(filename);
for i in 0..74 {
for j in 0..74 {
if world[i][j] == 1 {
let x_str = String::from(i.to_string());
let y_str = String::from(j.to_string());
fs::write(filename, x_str + &" ".to_string()).expect("Failed to write to file!");
fs::write(filename, y_str).expect("Failed to write to file!");
}
}
}
}
fn populate_to_file(filename: impl AsRef<std::path::Path>, world: [[u8; 75]; 75]) {
use std::iter::Iterator;
use std::io::Write;
let mut file = std::fs::File::create(filename).expect("Failed to create file!");
for (i, row) in world.into_iter().enumerate() {
for (j, _) in row.into_iter().enumerate().filter(|(_, cell)| cell==1) {
write!(file, "{} {}n", i, j).expect("Failed to write to file!");
}
}
}

最新更新