<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://mochiu.net/index.php?action=history&amp;feed=atom&amp;title=Rust%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E5%85%A5%E5%8A%9B</id>
	<title>Rustの基礎 - キーボード入力 - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://mochiu.net/index.php?action=history&amp;feed=atom&amp;title=Rust%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E5%85%A5%E5%8A%9B"/>
	<link rel="alternate" type="text/html" href="https://mochiu.net/index.php?title=Rust%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E5%85%A5%E5%8A%9B&amp;action=history"/>
	<updated>2026-07-21T14:24:48Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://mochiu.net/index.php?title=Rust%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E5%85%A5%E5%8A%9B&amp;diff=13619&amp;oldid=prev</id>
		<title>Wiki: ページの作成:「== 概要 == Rustでキーボードから情報を入力させるには、標準ライブラリの &lt;code&gt;std::io&lt;/code&gt; モジュールを使用する。&lt;br&gt; &lt;code&gt;std::io::stdin&lt;/code&gt; を使用して標準入力から読み取り、&lt;code&gt;read_line&lt;/code&gt; メソッドで文字列を取得する。&lt;br&gt; &lt;br&gt;&lt;br&gt;  == 基本的な入力 == 標準入力から値を読み取るには、まずstd::ioをインポートし、可変の文字列バッファを用意する必…」</title>
		<link rel="alternate" type="text/html" href="https://mochiu.net/index.php?title=Rust%E3%81%AE%E5%9F%BA%E7%A4%8E_-_%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E5%85%A5%E5%8A%9B&amp;diff=13619&amp;oldid=prev"/>
		<updated>2025-11-29T21:37:01Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「== 概要 == Rustでキーボードから情報を入力させるには、標準ライブラリの &amp;lt;code&amp;gt;std::io&amp;lt;/code&amp;gt; モジュールを使用する。&amp;lt;br&amp;gt; &amp;lt;code&amp;gt;std::io::stdin&amp;lt;/code&amp;gt; を使用して標準入力から読み取り、&amp;lt;code&amp;gt;read_line&amp;lt;/code&amp;gt; メソッドで文字列を取得する。&amp;lt;br&amp;gt; &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;  == 基本的な入力 == 標準入力から値を読み取るには、まずstd::ioをインポートし、可変の文字列バッファを用意する必…」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== 概要 ==&lt;br /&gt;
Rustでキーボードから情報を入力させるには、標準ライブラリの &amp;lt;code&amp;gt;std::io&amp;lt;/code&amp;gt; モジュールを使用する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;std::io::stdin&amp;lt;/code&amp;gt; を使用して標準入力から読み取り、&amp;lt;code&amp;gt;read_line&amp;lt;/code&amp;gt; メソッドで文字列を取得する。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 基本的な入力 ==&lt;br /&gt;
標準入力から値を読み取るには、まずstd::ioをインポートし、可変の文字列バッファを用意する必要がある。&amp;lt;br&amp;gt;&lt;br /&gt;
read_lineメソッドは、入力された文字列を指定したバッファに追加する。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;rust&amp;quot;&amp;gt;&lt;br /&gt;
 use std::io;&lt;br /&gt;
 &lt;br /&gt;
 fn main() {&lt;br /&gt;
    let mut input = String::new();&lt;br /&gt;
    io::stdin().read_line(&amp;amp;mut input).expect(&amp;quot;読み込みに失敗しました&amp;quot;);&lt;br /&gt;
    println!(&amp;quot;{}&amp;quot;, input);&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
また、入力を促すメッセージを表示するには、println! マクロ や print! マクロを使用する。&amp;lt;br&amp;gt;&lt;br /&gt;
print! マクロは改行しないため、入力プロンプトに適している。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;rust&amp;quot;&amp;gt;&lt;br /&gt;
 use std::io::{self, Write};&lt;br /&gt;
 &lt;br /&gt;
 fn main() {&lt;br /&gt;
    print!(&amp;quot;何か入力してください。: &amp;quot;);&lt;br /&gt;
    io::stdout().flush().unwrap();&lt;br /&gt;
    let mut input = String::new();&lt;br /&gt;
    io::stdin().read_line(&amp;amp;mut input).expect(&amp;quot;読み込みに失敗しました&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 入力と条件分岐 ==&lt;br /&gt;
以下の例では、標準入力と条件分岐を組み合わせている。&amp;lt;br&amp;gt;&lt;br /&gt;
入力した値は文字列型になるので、&amp;lt;code&amp;gt;trim&amp;lt;/code&amp;gt; メソッドで改行を除去して、&amp;lt;code&amp;gt;parse&amp;lt;/code&amp;gt; メソッドで整数に変換して、その値を2019と比較している。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;rust&amp;quot;&amp;gt;&lt;br /&gt;
 use std::io;&lt;br /&gt;
 &lt;br /&gt;
 fn main() {&lt;br /&gt;
    println!(&amp;quot;令和元年は西暦何年?:&amp;quot;);&lt;br /&gt;
    let mut year = String::new();&lt;br /&gt;
    io::stdin().read_line(&amp;amp;mut year).expect(&amp;quot;読み込みに失敗しました&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
    let int_year: i32 = year.trim().parse().expect(&amp;quot;数値を入力してください&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
    if int_year == 2019 {&lt;br /&gt;
       println!(&amp;quot;正解&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
       println!(&amp;quot;間違い&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 入力と反復処理 ==&lt;br /&gt;
以下の例では、loop文で無限ループさせることで質問を繰り返して、正解した時にbreak文で反復処理を抜ける。&amp;lt;br&amp;gt;&lt;br /&gt;
 &amp;lt;syntaxhighlight lang=&amp;quot;rust&amp;quot;&amp;gt;&lt;br /&gt;
 use std::io;&lt;br /&gt;
 &lt;br /&gt;
 fn main() {&lt;br /&gt;
    loop {&lt;br /&gt;
       println!(&amp;quot;令和元年は西暦何年?:&amp;quot;);&lt;br /&gt;
       let mut year = String::new();&lt;br /&gt;
       io::stdin().read_line(&amp;amp;mut year).expect(&amp;quot;読み込みに失敗しました&amp;quot;);&lt;br /&gt;
 &lt;br /&gt;
       let int_year: i32 = match year.trim().parse() {&lt;br /&gt;
          Ok(num) =&amp;gt; num,&lt;br /&gt;
          Err(_) =&amp;gt; {&lt;br /&gt;
             println!(&amp;quot;数値を入力してください&amp;quot;);&lt;br /&gt;
             continue;&lt;br /&gt;
          }&lt;br /&gt;
       };&lt;br /&gt;
 &lt;br /&gt;
       if int_year == 2019 {&lt;br /&gt;
          println!(&amp;quot;正解&amp;quot;);&lt;br /&gt;
          break;&lt;br /&gt;
       }&lt;br /&gt;
       println!(&amp;quot;間違い&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__FORCETOC__&lt;br /&gt;
[[カテゴリ:Rust]]&lt;/div&gt;</summary>
		<author><name>Wiki</name></author>
	</entry>
</feed>