我正在尝试存储我从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]
答案 0 :(得分:3)
刚刚将char word[100];
更改为std::string word;
,错误消失了。