C++ 如何将字符串转换为字符

use*_*932 1 c++

int main
{
  string data;
  data = "q";

  char myChoice;

  myChoice = data.c_str();
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用c_str(),但它不起作用。我如何转换stringchar

或者更确切地说我想问

int main()
{
  char myInput;
  // How to check user input is either a , b or c for char.
  cout << "Your Input ";
  cin >> myInput;
}
Run Code Online (Sandbox Code Playgroud)

因为string我可以使用getline(cin,mystringvariable),然后我使用 if-else 语句检查我的字符串变量。

但是炭呢?

Mr.*_*C64 5

您可以将字符串视为 的数组char。您可以使用类operator[]重载来std::string从字符串中提取单个字符:

// string data;
char myChoice = data[0]; // first char in "data"
Run Code Online (Sandbox Code Playgroud)

对于问题的第二部分,您可以像检查字符串一样检查char变量:if...else

char myInput;
...
if (myInput == 'a')
{
   ...
}
else if (myInput == 'b')
{
   ...
}
...
Run Code Online (Sandbox Code Playgroud)

switch或者您也可以使用声明。