|
|
@ -0,0 +1,39 @@ |
|
|
|
use std::env;
|
|
|
|
use std::fs;
|
|
|
|
use std::io::Write;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let args: Vec<String> = env::args().collect();
|
|
|
|
|
|
|
|
if args.len() != 4 {
|
|
|
|
eprintln!(
|
|
|
|
"Usage: {} in_file lower_bytes_out higher_bytes_out",
|
|
|
|
args[0]
|
|
|
|
);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Read in binary file
|
|
|
|
let original_bytes = fs::read(&args[1]).expect("Could not read input file");
|
|
|
|
|
|
|
|
let mut lower_bytes = Vec::new();
|
|
|
|
let mut upper_bytes = Vec::new();
|
|
|
|
|
|
|
|
for i in 0..original_bytes.len() {
|
|
|
|
if i % 2 == 0 {
|
|
|
|
lower_bytes.push(original_bytes[i]);
|
|
|
|
} else {
|
|
|
|
upper_bytes.push(original_bytes[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
let mut lower_file = fs::File::create(&args[2]).expect("Could not create lower bytes file");
|
|
|
|
lower_file
|
|
|
|
.write_all(&lower_bytes)
|
|
|
|
.expect("Could not write lower bytes file");
|
|
|
|
|
|
|
|
let mut upper_file = fs::File::create(&args[3]).expect("Could not create upper bytes file");
|
|
|
|
upper_file
|
|
|
|
.write_all(&upper_bytes)
|
|
|
|
.expect("Could not write upper bytes file");
|
|
|
|
}
|