【问题标题】:Comparing two strings in Rust [duplicate]比较 Rust 中的两个字符串
【发布时间】:2022-11-15 16:01:53
【问题描述】:

我正在尝试比较 Rust 中的两个字符串来比较我在空闲时间做的一个项目,以便更加熟悉 Rust,但是我遇到了一个小问题。每当我尝试做string1 == string2 时,我得到的都是false。这是我正在使用的代码:

use std::io;

fn main() {
    let mut username = String::new();
    let mut password = String::new();

    let username = "Miku";
    let password = "password";

    loop{
        let mut userAttempt = String::new();
        let mut passAttempt = String::new();

        println!("Enter username:\n> ");
        io::stdin().read_line(&mut userAttempt).expect("Failed to read line");

        println!("Enter password:\n> ");
        io::stdin().read_line(&mut passAttempt).expect("Failed to read line");

        println!("{}", userAttempt == username);

        if userAttempt == username{
            println!("Got here!");

            if passAttempt == password{
                println!("Logged in successfully.");
            }
        }
    }
}

【问题讨论】:

    标签: string rust controls flow


    【解决方案1】:

    检查https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.read_line - read_line 的返回值包含换行符。

    您可以执行 if userAttempt.trim() == username{ ... 删除额外的空格字符

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-22
      • 1970-01-01
      • 1970-01-01
      • 2015-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多