summaryrefslogtreecommitdiff
path: root/crates/user/reading_and_writing/src/main.rs
blob: ff6d5d78da33b6866cbb3ad10401116e6503cb9e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std::io::{Read, Write};

fn main() -> Result<(), std::io::Error> {
  let mut file = std::fs::OpenOptions::new()
    .read(true)
    .write(true)
    .create(false)
    .open("\\??\\Example")?;

  file.write_all("Hello, World!".as_bytes())?;

  let mut data = vec![0u8; 4096];
  let size = file.read(&mut data)?;

  match std::str::from_utf8(&data[..size]) {
    Ok(s) => println!("read {} bytes from \"{}\"", size, s),
    _ => println!("read {} bytes: {:x?}", size, &data[..size]),
  }

  Ok(())
}