对于我根据规范编写的程序,变量作为字符串传递给函数。我需要将该字符串设置为 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++ - 从字符串到字符的转换 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14825530/