Я пытаюсь записать число в файл.Номер в файле, который я не хочу представлять в виде UFT-8 или какой-либо другой кодировки.Я просто хочу двоичное представление числа, записанного в файл.
Код пытается записать в файл и затем прочитать файл обратно пользователю.
use std::fs::File;
use std::io::prelude::*;
fn main() -> () {
let number:usize =244128131191;
let mut file = File::create("data").expect("create failed");
file.write_all(&[number]).expect("write failed");
println!("data written to file" );
let mut file = File::open("data").expect("open failed");
let mut buffer = Vec::<usize>::new();
file.read_to_end(&mut buffer);
println!("{:?}", buffer);
}
Я получаю этоошибка обратно жаловаться на используемые типы.
Compiling writing_file v0.1.0 (file:///home/9716278/writing_file)
error[E0308]: mismatched types
--> src/main.rs:37:22
|
37 | file.write_all(&[number]).expect("write failed");
| ^^^^^^ expected u8, found usize
error[E0308]: mismatched types
--> src/main.rs:42:22
|
42 | file.read_to_end(&mut buffer);
| ^^^^^^^^^^^ expected u8, found usize
|
= note: expected type `&mut std::vec::Vec<u8>`
found type `&mut std::vec::Vec<usize>`
error: aborting due to 2 previous errors
error: Could not compile `counting_utf`.
To learn more, run the command again with --verbose.
Я не уверен, что происходит не так.Проблема заключается в том, чтобы делать с типами в соответствии с ошибкой.Я не пользователь, если это правильный подход к тому, что я пытаюсь сделать.