编写一个函数来获取字符串输入

Writing a function to get a string input

本文关键字:函数 获取 字符串 输入 一个      更新时间:2023-10-16

我需要一个函数来从用户获取字符串输入。我不想使用cin,因为我只想要返回(r)来标记输入的结束。我已经做了以下工作:

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

它工作,但我不是很满意,因为它不完全支持退格和右/左箭头键盘按钮。我的问题是,我如何从用户那里获得输入,而不使用cin,同时给用户一种类似cin的感觉(全键盘支持)?

实际上可以使用cin:

std::string GetInput()
{
  std::string input;
  if (!std::getline(cin, input)) {
    // handle error here
  }
  return input;
}