std::cin
を使用するプログラムを書くたびに、ユーザーがプログラムを終了するためにEnterキーを押したければ、希望の動作を得るためにstd::cin.ignore()
を2回書かなければならないことに気付きました。たとえば:2番目のcin.ignore()が必要なのはなぜですか?
#include <iostream>
int main(void)
{
int val = 0;
std::cout << "Enter an integer: ";
std::cin >> val;
std::cout << "Please press Enter to continue..." << std::endl;
std::cin.ignore();
std::cin.ignore(); // Why is this one needed?
}
私も、私は最後に実際の入力のためではなく、単にignore()
コールのためにcin
を使用していないときに気づいた、私は一つだけを必要としています。
LinuxまたはWindowsを実行している、それが理由であってもよいですWindowsを実行している場合のCRLFの問題... – Ben
同じ問題がSolaris上で発生します。それはCRLFとは関係ありません。 –