文字列の入力
CoddyのC++ジャーニー「基礎」セクションの一部 — レッスン 35/74。
文字列は他の型とは少し異なる動作をします。C++で文字列に入力を受け取る方法はいくつかあります。最も一般的な方法は以下の通りです:
1. cin を使用する:
std::string str;
std::cin >> str;注: これは最初の空白文字までしか読み取りません
2. getline() を使用する(スペースを含む文章に推奨):
std::string str;
std::getline(std::cin, str);これはスペースを含む行全体を読み取ります。
3. cin と getline の両方を使用する場合(cin の後に読み取る場合):
int n;
std::string str;
std::cin >> n;
std::cin.ignore(); // 入力バッファから改行をクリアする
std::getline(cin, str);cin.ignore() がないと、getline は入力を待つ代わりに、残っている改行文字を読み取ってしまいます。
チートシート
C++で文字列の入力を取得するには、いくつかの方法があります。
cin を使用する (最初の空白文字まで読み取ります):
std::string str;
std::cin >> str;getline() を使用する (スペースを含む行全体を読み取ります):
std::string str;
std::getline(std::cin, str);cin と getline の両方を使用する (cin の後に読み取る場合):
int n;
std::string str;
std::cin >> n;
std::cin.ignore(); // 入力バッファから改行文字をクリアする
std::getline(cin, str);cin から getline() に切り替えるときは、cin.ignore() を使用して入力バッファから改行文字をクリアしてください。
自分で試してみよう
このレッスンにはコードチャレンジは含まれていません。
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。