C++編で扱っている C++ は 2003年に登場した C++03
という、とても古いバージョンのものです。C++ はその後、C++11 -> C++14
-> C++17 -> C++20 -> C++23 と更新されています。
なかでも C++11 での更新は非常に大きなものであり、これから C++
の学習を始めるのなら、C++11
よりも古いバージョンを対象にするべきではありません。特に事情がないなら、新しい
C++ を学んでください。 当サイトでは、C++14 をベースにした新C++編を作成中です。
問題① 標準入力から、複数行の文字列の入力を受け取るプログラムを作成してください。改行文字だけが入力されたときに終了するものとします。
行単位の入力には、std::getline関数(第2章)を使うのが簡単で、安全です。
#include <iostream>
#include <string>
int main()
{
std::string s;
while (std::getline(std::cin, s)) {
if (s.empty()) {
break;
}
std::cout << s << std::endl;
}
}
実行結果:
xxx <-- 入力
xxx
yyy <-- 入力
yyy
<-- 入力
std::getline関数の戻り値は basic_stream の参照なので、エラーが発生した場合にも whileループを抜けます。
新規作成。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |