Rust编程:文件处理与 wc 程序实现
1. 文件处理中的输出比较与分隔符处理
在文件处理过程中,有时需要对输出和预期值进行比较。可以通过以下代码处理无效的UTF - 8编码,并将输出和预期值作为字节切片( [u8] )进行比较:
.success()
.stdout(predicate::eq(&expected.as_bytes() as &[u8]));
Ok(())
当处理多个文件时,需要处理文件之间的分隔符。有效的文件会有一个头部,将文件名放在 ==> 和 <== 标记内。除第一个文件外,后续文件开头会有一个额外的换行符以直观分隔输出。可以使用 Iterator::enumerate 方法来获取当前处理文件的编号。以下是最终的 run 函数:
pub fn run(config: Config) -> MyResult<()> {
let num_files = config.files.len();
for (file_num, filename) in config.files.iter().enumerate() {
match File::open(&filename) {
Err(err) => eprintl
超级会员免费看
订阅专栏 解锁全文
38

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



