Метод read_to_string
Метод read_to_string читает все байты из источника
ввода до конца и добавляет их в переданную строку.
Метод принимает изменяемую ссылку на строку, в которую
будет записан результат чтения. Он возвращает количество
прочитанных байтов в виде значения типа Result.
Если чтение прошло успешно, возвращается Ok
с числом байтов, иначе - Err с ошибкой ввода-вывода.
Синтаксис
reader.read_to_string(&mut buf)
Пример
Давайте прочитаем содержимое файла "test.txt"
в строку:
use std::fs::File;
use std::io::Read;
fn main()
{
let mut file = File::open("test.txt").unwrap();
let mut res = String::new();
let bytes = file.read_to_string(&mut res).unwrap();
println!("{}", bytes);
println!("{}", res);
}
Результат выполнения кода:
5
"abcde"
Пример
Давайте прочитаем данные из стандартного ввода в строку:
use std::io::{self, Read};
fn main()
{
let mut res = String::new();
io::stdin().read_to_string(&mut res).unwrap();
println!("{}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте проверим, что метод возвращает количество прочитанных байтов:
use std::io::Read;
use std::io::Cursor;
fn main()
{
let mut reader = Cursor::new("12345");
let mut res = String::new();
let bytes = reader.read_to_string(&mut res).unwrap();
println!("{}", bytes);
println!("{}", res);
}
Результат выполнения кода:
5
"12345"
Смотрите также
-
метод
read,
который читает данные в буфер байтов -
метод
read_to_end,
который читает все данные в вектор байтов -
метод
read_line,
который читает одну строку из источника -
типаж
Read,
который определяет методы чтения данных