文件读取:
use std::fs::File;
use std::io::{self, Read};
fn read_file_contents(file_path: &str) -> io::Result<String> {
let mut file = File::open(file_path)?;
let mut contents = String::new();
file.read_to_string(&mut contents)?;
Ok(contents)
}
fn main() {
match read_file_contents("example.txt") {
Ok(contents) => println!("File contents: {}", contents),
Err(err) => eprintln!("Error reading file: {}", err),
}
}
在这个例子中,File::open 打开一个文件,file.read_to_string 读取文件内容到一个字符串中。使用 ? 运算符进行错误处理。
文件写入:
use std::fs::File;
use std::io::{self, Write};
fn write_to_file(file_path: &str, content: &str) -> io::Result<()> {
let mut file = File::create(file_path)?;
file.write_all(content.as_bytes())?;
Ok(())
}
fn main() {
match write_to_file("output.txt", "Hello, Rust!") {
Ok(_) => println!("File written successfully"),
Err(err) => eprintln!("Error writing to file: {}", err),
}
}
在这个例子中,File::create 创建一个新文件,file.write_all 将字符串内容写入文件。
从标准输入读取:
use std::io;
fn read_from_stdin() -> io::Result<String> {
let mut input = String::new();
io::stdin().read_line(&mut input)?;
Ok(input)
}
fn main() {
match read_from_stdin() {
Ok(input) => println!("User input: {}", input),
Err(err) => eprintln!("Error reading from stdin: {}", err),
}
}
io::stdin().read_line 用于从标准输入读取用户输入。
向标准输出写入:
use std::io::{self, Write};
fn write_to_stdout(content: &str) -> io::Result<()> {
io::stdout().write_all(content.as_bytes())?;
Ok(())
}
fn main() {
match write_to_stdout("Hello, Rust!") {
Ok(_) => println!("Data written to stdout"),
Err(err) => eprintln!("Error writing to stdout: {}", err),
}
}
io::stdout().write_all 用于向标准输出写入内容。
这些示例演示了 Rust 中文件和 I/O 操作的基本用法。标准库的 std::io 模块提供了强大和灵活的工具,可用于处理各种 I/O 操作。
转载请注明出处:http://www.zyzy.cn/article/detail/13731/Rust