背景:实现strtol的rust版本
代码:
fn strtol(chars: &mut Chars<'_>) -> i64 {
let mut result: i64 = 0;
loop {
match chars.next() {
Some(c) => {
match c.to_digit(10) {
Some(i) => result = result * 10 + i64::from(i),
None => break,
}
},
None => break,
}
}
result
}
问题:执行完函数后,迭代器指向的字符是数字后面的第二个字符;例如输入123abc,运行后,迭代器指向字符b,我想要的结果是指向字符a,这样,可以继续用该迭代器进行后续操作。
1
共 3 条评论, 1 页
评论区
写评论Peekable正是我想要的,多谢
--
👇
ywxt: