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