gpt4 book ai didi

c++ - 在 vector 中存储字符串会导致错误

转载 作者:行者123 更新时间:2023-11-28 00:57:23 25 4
gpt4 key购买 nike

我试图将从文件中读取的字符串存储在 std::vector 中,但我遇到了一个奇怪的错误...

所以我有了容器:

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

然后我从流中读取字符串:

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

即使 vector 为空,当我插入第一个字符串时, vector 也会调整大小以容纳 8 个字符串,索引 0 处的字符串包含随机字符,索引 1 处包含正确的单词,其他索引包含无效指针。 .

知道是什么原因造成的吗?

编辑:在这种情况下,我正在读取字符串“DIRECTIONAL_LIGHT”,因此它适合 char word[100]

最佳答案

只需将 char word[100]; 更改为 std::string word;,错误就消失了。

关于c++ - 在 vector 中存储字符串会导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com