0

ユーザーから文字列入力を取得する関数が必要です。入力の終わりをマークするcinために return ( ) だけが必要なので、使用したくありません。\r私は次のことをしました:

std::string GetInput()
{
  std::string str = "\0";
  char ch;
  do
  {
    ch = getch();
    if(ch) str += ch;
    putch(ch);
  }
  while (ch!='\r');
  return str;
}

動作しますが、バックスペースと右/左矢印のキーボード ボタンを完全にはサポートしていないため、満足していません。cin私の質問は、を使用せずにユーザーから入力を得るにはどうすればよいcinですか?

4

1 に答える 1

2

実際に使用できますcin

std::string GetInput()
{
  std::string input;
  if (!std::getline(cin, input)) {
    // handle error here
  }
  return input;
}
于 2013-06-01T08:31:59.810 に答える