반응형

Rust에서 키보드 입력을 받아 화면에 출력하는 간단한 예제코드입니다.

 

2024. 1. 15  최초작성




실행 결과입니다. 




실행하면 다음처럼 입력을 대기합니다.

 

이름을 입력해주세요 :




이름을 입력후 엔터를 누르면 환영 메시지가 출력됩니다.

 

이름을 입력해주세요 : webnautes

webnautes님 반갑습니다.



전체 코드입니다.

use std::io;
use std::io::Write; // for flush()

fn main() {
    print!("이름을 입력해주세요 : "); // 줄바꿈을 하지 않기 위해서 println! 대신 print! 사용합니다.
    io::stdout().flush().expect("Failed to flush stdout"); // print! 함수의 출력내용을 바로 화면에 보이도록 하기 위해 stdout 버퍼를 플러시합니다.

    // expect() 대신에 unwrap()를 사용할 수 도 있습니다.
    // unwrap()은 단순히 프로그램을 패닉 상태로 전환시키지만, expect()는 패닉 발생시 제공된 메시지를 출력합니다.


    let mut input_text = String::new();

    // 문자열을 입력받습니다.
    io::stdin()
        .read_line(&mut input_text)
        .expect("Failed to read line"); // 표준 입력에서 에러가 나는 경우는 거의 없지만 추가합니다.


    input_text = input_text.trim().to_string(); // 개행 문자('\n')를 제거합니다.

    // input_text.trim()은 &str 타입, 즉 문자열 슬라이스를 반환합니다. 이 반환된 값은 input_text가 소유하는 데이터의 부분 참조입니다.
    // .to_string() 메소드는 &str 타입을 String 타입으로 변환합니다. 이 변환은 새로운 문자열 객체를 생성하여 원본 데이터의 복사본을 만듭니다.


    // 입력받은 문자열을 출력합니다.
    println!("{}님 반갑습니다.", input_text);
}



반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts