For a program I'm writing based on specifications, a variable is passed in to a function as a string. I need to set that string to a char variable in order to set another variable. How would I go about doing this?
This is it in the header file:
void setDisplayChar(char displayCharToSet);
this is the function that sets it:
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);
}
}
Thanks for the help in advanced!
You can get a specific character from a string simply by indexing it. For example, the fifth character of str
is str[4]
(off by one since the first character is str[0]
).
Keep in mind you'll run into problems if the string is shorter than your index thinks it is.
c_str()
, as you have in your comments, gives you a char*
representation (the whole string as a C "string", more correctly a pointer to the first character) rather than a char
.
You could equally index that but there's no point in this particular case.