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

问题描述 投票:-1回答:3
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怎么样?

c++
3个回答
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声明。


0
投票

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

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

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.