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 回答