8

仕様に基づいて書いているプログラムでは、変数は文字列として関数に渡されます。別の変数を設定するには、その文字列を 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);
    }
}

高度なヘルプをありがとう!

4

2 に答える 2

12

文字列にインデックスを付けるだけで、文字列から特定の文字を取得できます。たとえば、 の 5 番目の文字strstr[4](最初の文字が であるため、1 つずれていますstr[0])。

文字列がインデックスが考えているよりも短い場合、問題が発生することに注意してください。

c_str()、コメントにあるようにchar*char.

同様にインデックスを作成することもできますが、この特定のケースでは意味がありません。

于 2013-02-12T04:47:51.400 に答える
5

value[0] を使用するだけで、最初の文字が返されます。

char c = value[0];
于 2013-02-12T04:47:39.763 に答える