前言
恨不过是七情六欲的一种,再强大的恨也没法独占整颗心,总有其它情感隐藏在心底深处,说不定在什么时候就会掀起滔天巨浪。——《死人经》
图中是Starship扔掉下面的燃料罐,再扔掉头顶的翅膀后,再翻转过来着陆火星的模块!
\;\\\;\\\;
目录
- 前言
- 一直在单行显示
- 输入
- 文件读写
一直在单行显示
关键在于回车符\r,返回行头!
#python
print('\r','\tsearching... %d' % (j),end='',flush=True)
Rust中是这样
//rust
use std::thread;
use std::time::Duration;
use std::io;
use std::io::Write;
fn main(){
let mut j=0;
while j<100{
j+=1;
print!("\r\tsearching... {}",j);
let _ = io::stdout().flush(); //不刷新不显示print!()的内容
thread::sleep(Duration::from_millis(30));
}
}
\;\\\;\\\;
输入
刷新的函数有返回值,必须接收一下。下划线underscore是通配符,放在match里可以匹配任意内容。
use std::io::Write;
use std::io;
fn main(){
print!("input> "); //此函数不输出\n
let _ = io::stdout().flush(); //不刷新不显示print!()的内容
let mut buffer = String::new();
io::stdin().read_line(&mut buffer).expect("error occur!");
println!("output> {}",buffer);
}
\;\\\;\\\;
文件读写
use std::fs;
use std::fs::File;
use std::io;
use std::io::Write;
use std::io::Read;
use std::io::prelude::*;
use std::thread;
use std::time::Duration;
fn main() -> io::Result<()>{
//创建空目录
fs::create_dir("./hhhh")?;
fs::create_dir_all("./hhhh/try")?;
thread::sleep(Duration::from_secs(2));
//删除空目录
fs::remove_dir_all("./hhhh/try")?;
fs::remove_dir("./hhhh")?;
//创建文件
let mut f = File::create("a.txt").expect("create failed!");
//写入f
f.write_all("[TEST][%s]_>\n".as_bytes()).expect("write failed!");
//打开文件f1
let mut f1 = File::open("try2_stdin.rs").unwrap();
//读取f1内容写入f
let mut buffer = String::new();
f1.read_to_string(&mut buffer)?; //先读到buffer中
println!("file content : \n{:?}", buffer);
//写入f
f.write_all(buffer.as_bytes()).expect("write failed!");
Ok(()) //咩事啊
}
a.txt
\;\\\;\\\;