c++ - 从字符串到字符的转换 - C++

标签 c++ string char string-conversion

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

相关文章:

c - C中遍历字符串中的字符进行分析

c++ - 当您被新语言困住时如何学习 C++?

C++ 虚拟方法,不需要 "this"指针 - 优化

c++ - 检查文本文件中是否存在单词c++

Java:名称列表(String []),我如何/可以使用滚动条显示它们?

java - 仅拆分字符串两次

c++ - 过度分配新/删除

c - 我已经在 C 中声明了一个大小为 1 的字符数组,但我已经读取了一个大小为 10 的字符串,但给定的代码工作得很好。

c++ - 哪种方法更适合霍夫曼编码我想用它们的频率读取字符

c - 解析文本文件中由逗号或空格分隔的单词 - 我可以用 scanf 克服逗号吗?