我正在尝试创建一个 char*
由字符串的第一个字符组成。
字符串保存在字符串 vector 中。
我尝试了以下方法:
char* value = &cards[0][0]; cout<<"Value "<<i<<" == "<<value<<endl;
char* value = &cards[0].front(); cout<<"Value "<<i<<" == "<<value<<endl;
('cards' 是一个字符串 vector ,每个字符串是一个普通的 52 张卡片组中的一张卡片)
但无论我做什么,值 始终等于整个字符串。
如何使值为单个字母?
最佳答案
按照惯例,char*
被解释为以 null 结尾的字符串文字。所以 cout
输出从 value
指向的字符到字符串末尾的所有内容。
如果你只想要一个字符,你可以使用 char
而不是 char*
:
char value = cards[0][0];
cout << "Value " << i << " == " << value << endl;
关于c++ - 为什么我的单个字符不止一个字符长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15034909/