It works!!!
This commit is contained in:
26
src/main.rs
26
src/main.rs
@@ -1,12 +1,15 @@
|
||||
extern crate getopts;
|
||||
extern crate byteorder;
|
||||
|
||||
use std::env;
|
||||
use std::fs;
|
||||
use std::io::BufReader;
|
||||
use std::io::prelude::*;
|
||||
use std::i32;
|
||||
use std::io::Cursor;
|
||||
|
||||
use getopts::Options;
|
||||
use byteorder::{ReadBytesExt, WriteBytesExt, LittleEndian};
|
||||
|
||||
|
||||
fn main() {
|
||||
@@ -56,20 +59,31 @@ fn create(input: &String, output: &String) {
|
||||
}
|
||||
}
|
||||
|
||||
output_file.write_all(&[i as u8]).unwrap();
|
||||
let mut out : Vec<u8> = vec![];
|
||||
|
||||
out.write_i32::<LittleEndian>(i).unwrap();
|
||||
|
||||
output_file.write_all(&out).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
fn extract(input: &String, output: &String) {
|
||||
let mut output_file = fs::File::create(output).unwrap();
|
||||
let mut input_file = fs::File::open(input).unwrap();
|
||||
|
||||
let input_file = fs::File::open(input).unwrap();
|
||||
let input_buf = BufReader::new(input_file);
|
||||
let mut buf = vec![0; 4];
|
||||
|
||||
for b in input_buf.bytes() {
|
||||
let b = b.unwrap();
|
||||
loop {
|
||||
let size = input_file.read(&mut buf).unwrap();
|
||||
|
||||
output_file.write(&[get_byte(b as i32)]).unwrap();
|
||||
if size <= 0 {
|
||||
break;
|
||||
}
|
||||
|
||||
let mut c = Cursor::new(&buf);
|
||||
let index = c.read_i32::<LittleEndian>().unwrap();
|
||||
|
||||
output_file.write_all(&[get_byte(index)]).unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user