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

时间:2012-11-04 11:00:17

标签: c++

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语句检查我的string变量。

但是char呢?

3 个答案:

答案 0 :(得分:0)

您可以将字符串视为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语句。

答案 1 :(得分:0)

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

int main() {
  char c;
  c = getchar();
  return (0);
}

答案 2 :(得分:0)

你不能将字符串转换为char,你必须将它转换为char数组。如果你想从字符串中获取单个字符,可以通过将字符索引设置为data [index]并将其分配给字符变量来实现。