从字符串转换为char - c ++

时间:2013-02-12 04:45:35

标签: c++ string char string-conversion

对于我根据规范编写的程序,变量作为字符串传递给函数。我需要将该字符串设置为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);
    }
}

感谢先进的帮助!

2 个答案:

答案 0 :(得分:9)

您只需通过索引即可从字符串中获取特定字符。例如,str的第五个字符为str[4](由于第一个字符为str[0],因此关闭一个字段。)

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

c_str(),正如您在评论中所提到的那样,为您提供char*表示(整个字符串为C“字符串”,更准确地说是指向第一个字符的指针)而不是{{ 1}}。

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

答案 1 :(得分:4)

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

char c = value[0];