int main
{
string data;
data = "q";
char myChoice;
myChoice = data.c_str();
}
我尝试使用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;
}
对于string
,我可以使用getline(cin,mystringvariable)
,然后用if-else语句检查我的stringvariable。
但是char怎么样?
您可以将字符串视为char
的数组。你可以使用operator[]
重载和std::string
类从字符串中提取单个字符:
// string data;
char myChoice = data[0]; // first char in "data"
对于问题的第二部分,您可以像对字符串一样使用char
检查if...else
变量:
char myInput;
...
if (myInput == 'a')
{
...
}
else if (myInput == 'b')
{
...
}
...
或者您也可以使用switch
声明。
您可以使用stdio.h中的getchar()。
int main() {
char c;
c = getchar();
return (0);
}
你不能将字符串转换为char,你必须将其转换为char数组。如果你想从字符串中获取单个字符,你可以通过将字符的索引放入data [index]并将其分配给字符变量来实现。