Rust 文件处理与 wc 程序实现指南
1. 文件读取与处理
在文件处理过程中,我们可以使用 String::clear 来清空行缓冲区。若此时运行 cargo test ,程序几乎能通过所有读取行的测试,但会在读取字节和处理多文件的测试中失败。
1.1 读取文件字节
处理文件字节读取时,尝试打开文件后,需检查 config.bytes 是否为指定的字节数。若不是,则使用之前读取行的代码。为实现此功能,要在导入部分添加 use std::io::Read 。以下是示例代码:
for filename in config.files {
match open(&filename) {
Err(err) => eprintln!("{}: {}", filename, err),
Ok(mut file) => {
if let Some(num_bytes) = config.bytes {
let mut handle = file.take(num_bytes as u64);
let mut buffer = vec![0; num_bytes];
let bytes_read = handle.read(&mut buffer)?;
超级会员免费看
订阅专栏 解锁全文
1900

被折叠的 条评论
为什么被折叠?



