Conversion from string to char - c++

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!

2

2 Answers

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.

1

you just need to use value[0] and that returns the first char.

char c = value[0]; 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like