1. ホーム
  2. c++

[解決済み] 文字列からcharへの変換 - c++

2022-03-05 13:40:19

質問

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

上級編でお世話になりました

どのように解決するのですか?

文字列から特定の文字を取り出すには、単純にインデックスをつければよい。例えば、5文字目の strstr[4] (最初の文字が str[0] ).

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

c_str() を使用すると、コメントにあるように char* の表現(文字列全体をCの"string"として、より正確には最初の文字へのポインタ)よりも、むしろ char .

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