【问题标题】:Conversion from string to char - c++从字符串到字符的转换 - C++
【发布时间】:2013-01-27 08:16:51
【问题描述】:

对于我根据规范编写的程序,变量作为字符串传递给函数。我需要将该字符串设置为 char 变量以设置另一个变量。我该怎么做呢?

头文件中是这样的:

void setDisplayChar(char displayCharToSet);

这是设置它的函数:

void Entity::setElementData(string elementName, string value){
    if(elementName == "name"){
            setName(value);
    }
    else if(elementName == "displayChar"){
    //      char c;
      //      c = value.c_str();
            setDisplayChar('x');//cant get it to convert :(
    }
    else if(elementName == "property"){
            this->properties.push_back(value);
    }
}

感谢您的帮助!

【问题讨论】:

  • 你的意思是你只想传入第一个字符? value[0].
  • 验证该值的长度是一个字符,理想情况下。另外:通过 const& ;)

标签: c++ string char string-conversion


【解决方案1】:

您可以简单地通过索引从字符串中获取特定字符。例如str 的第五个字符是str[4](因为第一个字符是str[0],所以减一)。

请记住,如果字符串比您的索引认为的短,您会遇到问题。

c_str(),就像您在 cmets 中一样,为您提供 char* 表示(整个字符串作为 C“字符串”,更准确地说是指向第一个字符的指针)而不是 char

你可以同样索引它,但在这种特殊情况下没有意义。

【讨论】:

  • 是的!谢谢!哈哈 Idk 为什么我一开始没有尝试。这似乎太简单了。
【解决方案2】:

您只需要使用 value[0] 并返回第一个字符。

char c = value[0];

【讨论】:

    猜你喜欢
    • 2018-09-02
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 2013-06-16
    • 2016-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多