为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的stdin用户输入没有正确匹配?

为什么我的stdin用户输入没有正确匹配?

为什么我的stdin用户输入没有正确匹配?我正在尝试获取系统输入并检查用户是否输入了是或否。我的字符串转换是错误还是什么?if块不执行。use std::io;fn main() {     let mut correct_name = String::new();     io::stdin().read_line(&mut correct_name).expect("Failed to read line");     if correct_name == "y" {         println!("matched y!");         // Do something     } else if correct_name == "n" {         println!("matched n!");         // Do something else     }}
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

read_line包括返回字符串中的终止换行符。添加.trim_right_matches("\r\n")到您的定义中correct_name以删除终止换行符。


查看完整回答
反对 回复 2019-08-23
?
眼眸繁星

TA贡献1873条经验 获得超9个赞

您可以使用提供函数chomp-nlcrate,该chomp函数返回不带换行符的字符串切片。

如果您喜欢这样做,也有一个特点ChompInPlace

免责声明:我是这个图书馆的作者。


查看完整回答
反对 回复 2019-08-23
  • 3 回答
  • 0 关注
  • 512 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信