summaryrefslogblamecommitdiff
path: root/meap/ch7/src/main.rs
blob: 1dbb471b66afd698e314301e5ce7ef9f2186258f (plain) (tree)



































































































                                                                           
//#[macro_use]
//extern crate serde_derive;
//
//extern crate serde;
//extern crate serde_json;
//extern crate bincode;
//
//#[derive(Serialize, Deserialize)]
//struct City {
//    name: String,
//    population: usize,
//    latitude: f64,
//    longitude: f64,
//}
//
//fn main() {
//    let calabar = City {
//        name: String::from("Calabar"),
//        population: 470_000,
//        latitude: 4.95,
//        longitude: 8.33,
//    };
//
//    let as_json = serde_json::to_string(&calabar).unwrap();
//    let as_bincode = bincode::serialize(&calabar).unwrap();
//
//    println!("json: {}", &as_json);
//    println!("bincode: {:?}", &as_bincode);
//    println!("bincode utf8: {:?}", String::from_utf8_lossy(&as_bincode));
//}


//use std::io::prelude::*;
//
//const BYTES_PER_LINE: usize = 16;
//const INPUT: &'static [u8] = br#"
//
//fn main() {
//    println!("hello world")
//}"#;
//
//fn main() -> std::io::Result<()> {
//    let mut buffer: Vec<u8> = vec!();
//    INPUT.read_to_end(&mut buffer)?;
//
//    let mut position_in_input = 0;
//    
//    for line in buffer.chunks(BYTES_PER_LINE) {
//        print!("[0x{:08x}] ", position_in_input);
//
//        for byte in line {
//            print!("{:02x} ", byte);
//        }
//
//        println!();
//        position_in_input += BYTES_PER_LINE;
//    }
//
//    Ok(())
//}


//use std::fs::File;
//use std::io::prelude::*;
//use std::env;
//
//const BYTES_PER_LINE: usize = 16;
//
//fn main() {
//    let arg1 = env::args().nth(1);
//    let fname = arg1.expect("usage: fview FILENAME");
//
//    let mut f = File::open(&fname).expect("unable to open file");
//    let mut pos = 0;
//    let mut buffer = [0; BYTES_PER_LINE];
//
//    while let Ok(_) = f.read_exact(&mut buffer) {
//        print!("[0x{:08x}] ", pos);
//        
//        for byte in &buffer {
//            match *byte {
//                0x00 => print!(".  "),
//                0xff => print!("## "),
//                _ => print!("{:02x} ", byte),
//            }
//        }
//
//        println!("");
//        pos += BYTES_PER_LINE;
//    }
//}


use std::path::PathBuf;

fn main() {
    let mut hello = PathBuf::from("/tmp/hello.txt");
    hello.pop();
    println!("{:?}", hello.display());
}