如何抓住输入的某些元素?

时间:2014-11-02 21:26:43

标签: c++ arrays

对于我正在处理的项目,我想将一个字母转换为一个数字(如A = 20)。所以我希望能够把“AQJD”转换为数字。如何获取用户输入的内容并获取某些元素。

这样简单
char myArray [] = "AQJD"

可以像这样抓住:

myArray[0] // this will return A because A is the 0th element 

但是我怎样才能得到用户输入的内容以执行上述操作。我尝试这样做(粘贴在下面),但它不起作用。

string x; //assume I included <string> already
cout << "Please input what you would like to change: " << endl;
cin >> x;
char mine [] = x;
cout << mine[2] << endl;

有没有办法像上面尝试的那样将变量传递给数组?

2 个答案:

答案 0 :(得分:1)

std::string已经有operator[]函数返回指定位置的字符。它与常规char数组完全相同:

cout << x[2]; // J

答案 1 :(得分:0)

您可以使用非常相似的.c_str() std::string方法:

const char *mine = x.c_str();
cout << mine[2] << endl;