C++ 如何从字符串中读入单个字符?

C++ 如何从字符串中读入单个字符?,c++,C++,我有一行“521+” 我可以成功地读入2个整数,但是我想读入“+”作为字符串 我尝试使用getLine(),但是getLine()函数读取整行(521+)。如何将“+”作为字符串读取?尝试以下方法: int number1; int number2; std::string opr; cin >> number1 >> number2 >> opr; 要进入下一行的开头,可以添加: cin.ignore(1000, '\n'); 另一种可能是将其作为字符读

我有一行
“521+”

我可以成功地读入2个整数,但是我想读入“+”作为字符串


我尝试使用
getLine()
,但是
getLine()
函数读取整行(
521+
)。如何将
“+”
作为字符串读取?

尝试以下方法:

int number1;
int number2;
std::string opr;
cin >> number1 >> number2 >> opr;
要进入下一行的开头,可以添加:

cin.ignore(1000, '\n');

另一种可能是将其作为字符读入,然后将其键入字符串,尽管这不是标准过程,我不建议这样做。但是,如果您想完成工作,这是一种快速简便的方法:

  int number 1;
  int number 2;
  char ch;
  string opr;
  cin >> number1 >> number2 >> ch;
  opr = "" + ch;

假设我正确理解你想要什么

string x = something.substr(5, 1); // = "+"

使用运算符
>
可以像读取int一样读取字符串值。