int main
{
string data;
data = "q";
char myChoice;
myChoice = data.c_str();
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用c_str(),但它不起作用。我如何转换string为char?
或者更确切地说我想问
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 语句检查我的字符串变量。
但是炭呢?
您可以将字符串视为 的数组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或者您也可以使用声明。