Запись текста в файл в Rust
Запись кладет байты по пути и создает файл, если его не было. Содержимое задают строкой или срезом байт. Команда возвращает результат без полезного значения при удаче: важен сам факт записи или текст сбоя.
Запишем короткую фразу и проверим чтением:
use std::fs;
use std::io;
fn save_hello() -> io::Result<()> {
fs::write("note.txt", "hello")?;
Ok(())
}
fn main() -> io::Result<()> {
save_hello()?;
let text = fs::read_to_string("note.txt")?;
println!("{}", text);
Ok(())
}
Повторная запись по тому же пути заменяет старое содержимое целиком:
use std::fs;
use std::io;
fn main() -> io::Result<()> {
fs::write("note.txt", "first")?;
fs::write("note.txt", "second")?;
let text = fs::read_to_string("note.txt")?;
println!("{}", text);
Ok(())
}
Дан путь:
let path = "data/log.txt";
Запишите туда строку "start" и
выведите прочитанный текст.
Дан путь:
let path = "note.txt";
Два раза подряд запишите разные слова и скажите, что останется в файле после второй записи.
Оформите запись в отдельную функцию с
исходом и вызовите ее из main.