2013-02-12 220 views
5

对于我正在基于规范编写的程序,将一个变量作为字符串传递给函数。我需要将该字符串设置为char变量以设置另一个变量。我会如何去做这件事?从字符串转换为字符 - C++

这是它在头文件:

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); 
    } 
} 

感谢您的帮助先进!

+3

你是说你只是想传递第一个字符? '值[0]'。 – chris 2013-02-12 04:46:45

+0

验证该值是一个字符的长度,理想情况下。另外:通过const&;) – 2013-02-12 04:47:25

回答

6

只需索引它就可以从字符串中获取特定字符。例如,str的第五个字符为str[4](由于第一个字符为str[0]而被关闭)。

请记住,如果字符串比索引认为更短,则会遇到问题。

c_str(),当你在你的留言,给你一个char*表示(整个字符串作为C“弦”,更正确的指针第一个字符),而不是一个char

你可以同样的索引,但在这种情况下没有意义。

+0

Yessssss !!!谢谢!哈哈Idk为什么我没有尝试这一开始。这看起来太简单了。 – ModdedLife 2013-02-12 04:50:39

4

你只需要使用值[0]并返回第一个字符。

char c = value[0];