Rust编程:文件处理与查找工具实现
1. 文件处理程序的实现与优化
在编写文件处理程序时,我们的目标是实现一个能统计重复行并输出结果的程序。
初始实现
首先,我们创建了一个 run 函数,代码如下:
pub fn run(config: Config) -> MyResult<()> {
let mut file = open(&config.in_file)
.map_err(|e| format!("{}: {}", config.in_file, e))?;
let mut line = String::new();
let mut last = String::new();
let mut count: u64 = 0;
loop {
let bytes = file.read_line(&mut line)?;
if bytes == 0 {
break;
}
if line.trim_end() != last.trim_end() {
if count > 0 {
print!("{:>4} {}", count, last);
}
last = line.clone();
count = 0;
}
超级会员免费看
订阅专栏 解锁全文
625

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



