MST

星途 面试题库

面试题:Rust文件读取与命令行参数处理

请编写一个Rust程序,该程序从命令行接收一个文件名作为参数,然后读取该文件的内容并在控制台打印出来。要求处理文件不存在等常见错误情况。
11.6万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
use std::fs::File;
use std::io::{self, Read};
use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();
    if args.len() != 2 {
        eprintln!("Usage: {} <filename>", args[0]);
        return;
    }

    let filename = &args[1];
    let mut file = match File::open(filename) {
        Ok(file) => file,
        Err(error) => {
            eprintln!("Failed to open file: {}", error);
            return;
        }
    };

    let mut contents = String::new();
    match file.read_to_string(&mut contents) {
        Ok(_) => println!("{}", contents),
        Err(error) => eprintln!("Failed to read file: {}", error),
    }
}