1

TinyXml を使用して、属性の値から std::string を取得しようとしています。得られる唯一のものは const char * val であり、const char * から std::string に変換する方法が見つかりません。

1. TinyXml を使用して属性の文字列を取得する方法は? 2. const char * val をstring valに変換する方法。

これは私が今持っているコードです:

TiXmlElement* data;
data->Attribute("some_name"); // return const char * which seems like unconvertible.

グーグルで調べた後、私はこれを試しました:

char * not_const= const_cast<char *> (data->Attribute("some_name"));

コード自体にはエラーはありませんが、コンパイルして実行すると例外が発生します。

4

1 に答える 1

5

std::string には、char const* を取るコンストラクターがあります。そのために char* は必要ありません。

std::string str = data->Attribute("some_name");

ただし、std::string は NULL 値を好まないので、何も指定しないでください。

于 2010-03-03T07:18:29.853 に答える