動的な文字列処理のためにstd :: stringを使いたい。データは追加されて文字列に追加されますが、インデックスiの文字の値を設定することはできません。文字列にいくつの文字が追加されるのか分かりません。 .NETの動的コレクションのようなもの。 私はCでのstd ::文字列++C++のstd :: stringをcharの配列として初期化して使用する
std::string s;
を割り当て、それをインデックスiの要素を設定しようとすると:メモリに関連するエラーによる
s[0] = 'a';
それがします。 愚かな方法をして、それを初期化されたデータを存在し、後でそれを置き換える:
std::string s = generate1000chars();
s[2] = 'c';
は、私はchar型の配列のように、インデックスで文字を操作できるように文字列を初期化する方法はありますか?
使用する前に、文字列を[サイズ変更する](http://www.cplusplus.com/reference/string/string/resize/)する必要があります。 – Sergey
また、いくつかの文字を追加したい場合は、 'push_back'と' operator + = 'を見てください。 – Sergey
私は、[ここ](http://en.cppreference.com/w/cpp/string/basic_string/basic_string)の2番目のコンストラクタである 'std :: string s(1000、 'a');'を意味しました。もちろん、サイズを変更するよりも遅くする必要があります。 – Sergey