当前位置: 首页 > news >正文

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

前言

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

在这里插入图片描述
图中是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> "); //此函数不输出\nlet _ = 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!");//写入ff.write_all("[TEST][%s]_>\n".as_bytes()).expect("write failed!");//打开文件f1let mut f1 = File::open("try2_stdin.rs").unwrap();//读取f1内容写入flet mut buffer = String::new();f1.read_to_string(&mut buffer)?;  //先读到buffer中println!("file content : \n{:?}", buffer);//写入ff.write_all(buffer.as_bytes()).expect("write failed!");Ok(())   //咩事啊
}

a.txt

在这里插入图片描述

\;\\\;\\\;

相关文章:

  • Apache POI(Java)
  • 软件测试/测试开发/人工智能丨视觉与图像识别自动化测试
  • inBuilder低代码平台新特性推荐-第八期
  • 22. 深度学习 - 自动求导
  • 基本算法:二分
  • 02.webpack中多文件打包
  • Spring Boot简介
  • 电子学会2023年6月青少年软件编程(图形化)等级考试试卷(三级)真题,含答案解析
  • 广西柳州机械异形零部件三维扫描3D抄数全尺寸测绘建模-CASAIM中科广电
  • mongodb——概念介绍(文档,集合,固定集合,元数据,常用数据类型)
  • C/C++---------------LeetCode第1207.独一无二的出现次数
  • 使用Dockerfile构建hexo博客镜像,并部署
  • Qt QWebSocket实现JS调用C++
  • 广西南宁新能源汽车电机定子三维扫描3D尺寸测量检测-CASAIM中科广电
  • 数据仓库相关
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • Facebook AccountKit 接入的坑点
  • go append函数以及写入
  • golang中接口赋值与方法集
  • HTTP中的ETag在移动客户端的应用
  • IDEA 插件开发入门教程
  • JS+CSS实现数字滚动
  • React的组件模式
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 服务器之间,相同帐号,实现免密钥登录
  • 机器学习 vs. 深度学习
  • 极限编程 (Extreme Programming) - 发布计划 (Release Planning)
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 手写双向链表LinkedList的几个常用功能
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 译自由幺半群
  • gunicorn工作原理
  • ​插件化DPI在商用WIFI中的价值
  • #define,static,const,三种常量的区别
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (27)4.8 习题课
  • (4)Elastix图像配准:3D图像
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (BFS)hdoj2377-Bus Pass
  • (function(){})()的分步解析
  • (Python第六天)文件处理
  • (初研) Sentence-embedding fine-tune notebook
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十一)图像的罗伯特梯度锐化
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (正则)提取页面里的img标签
  • (转)EXC_BREAKPOINT僵尸错误
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .apk 成为历史!
  • .Net Redis的秒杀Dome和异步执行
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • /etc/skel 目录作用
  • @font-face 用字体画图标