Home > OS >  Comparing two strings in Rust
Comparing two strings in Rust

Time:11-11

I am trying to compare two strings in Rust for a project I am doing in my free time in order to become more familiar with Rust, however I have run in to a small issue. Whenever I try to do string1 == string2 all I get is false. Here is the code that I am using:

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.");
            }
        }
    }
}

CodePudding user response:

Check https://doc.rust-lang.org/stable/std/io/trait.BufRead.html#method.read_line - the return value from read_line contains the new line character.

You could do if userAttempt.trim() == username{ ... to remove the additional space characters

  • Related