为什么我的单个字符长度超过一个字符?

Mag*_*xis 0 c++ string vector char

我正在尝试创建char*一个字符串的第一个字符.字符串保持在字符串向量内.

我尝试过以下方法:

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

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

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

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

我如何使价值成为一个字母?

Mic*_*Liu 6

按照惯例,a char*被解释为以null结尾的字符串文字.因此,coutvalue指向字符串结尾的字符输出所有内容.

如果你只想要一个角色,你可以使用char而不是char*:

char value = cards[0][0];
cout << "Value " << i << " == " << value << endl;
Run Code Online (Sandbox Code Playgroud)