0

我正在尝试创建一个char*由字符串的第一个字符组成的。字符串保存在字符串向量中。

我尝试了以下方法:

char* value = &cards[0][0]; cout<<"Value "<<i<<" == "<<value<<endl;

char* value = &cards[0].front(); cout<<"Value "<<i<<" == "<<value<<endl;

('cards' 是字符串的向量,每个字符串都是常规 52 卡片组中的一张卡片)

但无论我做什么,价值总是等于整个字符串。

如何使单个字母的价值?

4

1 回答 1

6

按照惯例, achar*被解释为以 null 结尾的字符串文字。因此cout输出从value指向向上的字符到字符串末尾的所有内容。

如果你只想要一个字符,你可以使用char代替char*

char value = cards[0][0];
cout << "Value " << i << " == " << value << endl;
于 2013-02-22T23:26:17.997 回答