← Rust

LESSON / MIXED

標準入力と文字列・数値変換の基礎

std::io::stdinによる標準入力の読み取りと、文字列から数値へのparseの基礎を学びます。

標準入力から1行読み取る

標準入力を扱うにはstd::ioモジュールを使います。

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin()
        .read_line(&mut input)
        .expect("入力の読み取りに失敗しました");

    let input = input.trim(); // 改行文字を取り除く
    println!("入力された文字列: {}", input);
}
  • String::new()で空の文字列を作成します。
  • read_lineは、読み取った内容を引数で渡した変数に書き込みます。そのため&mut inputのように、書き込み可能な参照を渡します(参照については第9章で詳しく学びます)。
  • 入力の末尾には改行文字が含まれるため、.trim()で取り除きます。

文字列を数値に変換する(parse)

読み取った文字列を数値として扱うには、parse()を使います。

use std::io;

fn main() {
    let mut input = String::new();
    io::stdin().read_line(&mut input).expect("読み取り失敗");

    let n: i32 = input.trim().parse().expect("数値への変換に失敗しました");
    println!("{}", n * 2);
}

parse()は、変換に失敗する可能性があるため、Resultという「成功(Ok)か失敗(Err)かを表す値」を返します。ここでは.expect("...")を使って、「失敗したら指定したメッセージとともにプログラムを終了する」という最も簡単な扱い方をしています。Resultをより丁寧に扱う方法(matchを使ったエラー処理など)は、Intermediateコースで学びます。

演習:2つの整数の和(標準入力の読み取り)

コード提出フォーム

RUST

安全なサーバー側採点連携が未接続のため、現在は提出できません。

採点基盤準備中

公開テストケース

読み込み中…