【Rust】快速教程——一直在单行显示打印、输入、文件读写

前言

恨不过是七情六欲的一种,再强大的恨也没法独占整颗心,总有其它情感隐藏在心底深处,说不定在什么时候就会掀起滔天巨浪。——《死人经》

【Rust】快速教程——一直在单行显示打印、输入、文件读写_第1张图片
图中是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));
    }
}

【Rust】快速教程——一直在单行显示打印、输入、文件读写_第2张图片

         \;\\\;\\\;

输入

刷新的函数有返回值,必须接收一下。下划线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

【Rust】快速教程——一直在单行显示打印、输入、文件读写_第3张图片

         \;\\\;\\\;

你可能感兴趣的:(Script,rust,开发语言,后端)