【问题标题】:Why is my single char more than one character long?为什么我的单个字符长度超过一个字符?
【发布时间】:2013-02-22 23:23:44
【问题描述】:

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

我尝试了以下方法:

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

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

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

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

如何将 value 设为单个字母?

【问题讨论】:

    标签: c++ string vector char


    【解决方案1】:

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

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

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

    【讨论】:

    • 先生,您是天才、绅士和学者:D 谢谢,它成功了!
    猜你喜欢
    • 1970-01-01
    • 2019-11-17
    • 2013-09-27
    • 1970-01-01
    • 2015-01-14
    • 2018-01-11
    • 2012-09-08
    • 1970-01-01
    • 2020-03-19
    相关资源
    最近更新 更多