2013-02-22 86 views
0

我试图创建一个由字符串的第一个字符组成的char*。 该字符串保存在一个字符串向量中。为什么我的单个字符长度超过一个字符?

我曾尝试以下:

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

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

( '卡片' 是字符串矢量,每个串是在常规的52张牌的卡片)

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

我该如何制作单个字母?

回答

6

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

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

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

你的先生,是个天才,一个绅士,一位学者:d谢谢,它的工作! – Magicaxis 2013-02-23 00:18:28

相关问题