我正在尝试创建一个由字符串的第一个字符组成的char*
。
字符串保存在字符串向量内。
我尝试了以下内容:
char* value = &cards[0][0]; cout<<"Value "<<i<<" == "<<value<<endl;
char* value = &cards[0].front(); cout<<"Value "<<i<<" == "<<value<<endl;
('cards'是一个字符串向量,每个字符串是常规52张牌中的一张牌)
但无论我做什么, value 总是等于整个字符串。
如何将值设为一个字母?
答案 0 :(得分:6)
按照惯例,char*
被解释为以null结尾的字符串文字。因此cout
输出从value
指向的字符到字符串末尾的所有内容。
如果您只想要一个字符,则可以使用char
代替char*
:
char value = cards[0][0];
cout << "Value " << i << " == " << value << endl;