2012-05-01 11 views
0

は私がのstd ::ベクトル内のファイルから読み込ん店舗の文字列にしようとしているが、私は奇妙なエラーを取得しています原因... 保管文字列はエラー

は、だから私はコンテナを持っています:ベクトルが空

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

もかかわらず、私は最初の文字列を挿入すると、ベクターは、8つの文字列を保持するために含むインデックス0の文字列のサイズを変更:

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

そしてIは、ストリームから文字列を読み取りますインデックス1のランダムな文字...

これを引き起こすかもしれないものの任意のアイデアを正しい単語を含む、その他の指標は、無効なポインタを含みますか?

編集:それはちょうどstd::string word;char word[100];を変更char word[100]

+9

ポスト[SSCCE](http://sscce.org) – ildjarn

+2

あなたはword' 'に99個のを超える文字を読みましたか? – dgnorton

+3

文字列ではなく文字列を読み込む理由は何ですか? – stark

答えて

3

に収まると、エラーが消えたように、この場合、私は、文字列「DIRECTIONAL_LIGHT」を読んでいます。

+3

、あなたは 'のstd :: STRING'または' malloc'もしくは 'new'を使用する必要があります't。 – Linuxios

関連する問題