Какой родной, идиоматический c и безопасный способ хранения i32 в файле? - PullRequest
0 голосов
/ 04 марта 2020

Я хочу взять что-то вроде i32 (или любое целое число со знаком) и сохранить его в файле. Я знаю о serde, но я пытаюсь понять, как это можно сделать естественным и безопасным способом.

Единственное решение, которое мне пришло в голову, - это вручную вычислить двоичный файл и преобразовать его в массив u8s. Это так, как это нужно сделать?

Ответы [ 2 ]

2 голосов
/ 04 марта 2020

Позвоните to_be_bytes() или to_le_bytes(), чтобы преобразовать его в старшие или младшие порядковые номера соответственно.

pub fn to_be_bytes(self) -> [u8; 4];
pub fn to_le_bytes(self) -> [u8; 4];
1 голос
/ 04 марта 2020

Напишите это:

use std::{fs::File, io::Write};

fn main() {
    let mut f = File::create("/tmp/myfile").expect("unable to open file");
    write!(&mut f, "{}", 42).expect("unable to write file");
}
...