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

感谢您对高级的帮助!

最佳答案

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

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

正如您在注释中所看到的,c_str()为您提供了char*表示形式(整个字符串作为C“字符串”,更正确地是指向第一个字符的指针),而不是char

您可以同样地为其编制索引,但在这种情况下毫无意义。

关于c++ - 从字符串到char的转换-C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14825530/

10-11 19:19
查看更多