0

ファイルから読み取った文字列をstd::vectorに保存しようとしていますが、奇妙なエラーが発生します...

だから私はコンテナを持っています:

std::vector<std::string> m_Strings;

次に、ストリームから文字列を読み取ります。

ifstream inStream;
char word[100];
//[...]
inStream >> word;
m_Strings.push_back(word);

ベクトルが空であっても、最初の文字列を挿入すると、ベクトルは8つの文字列を保持するようにサイズ変更され、インデックス0の文字列にはランダムな文字が含まれ、インデックス1の文字列には正しい単語が含まれ、他のインデックスには無効なポインタが含まれます。

これを引き起こす可能性のあるものについて何か考えはありますか?

編集:この場合、私は文字列「DIRECTIONAL_LIGHT」を読んでいるので、char word[100]

4

1 に答える 1

3

に変更char word[100];しただけstd::string word;で、エラーは消えました。

于 2012-05-01T00:42:30.210 に答える