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

  char myChoice;

  myChoice = data.c_str();
}

我尝试使用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;
}

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

但是char呢?

4

3 回答 3

3

char您可以将字符串视为's的数组。您可以使用类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语句。

于 2012-11-04T11:11:03.573 回答
1

you can't convert a string to a char you will have to convert it to char array. if you want to grab a single character from a string you can do it by putting index of the character like data[index] and assign it to character variable.

于 2012-11-04T11:23:21.103 回答
0

您可以使用 stdio.h 中的 getchar()。

int main() {
  char c;
  c = getchar();
  return (0);
}
于 2012-11-04T11:12:02.797 回答