现在我正在尝试使用字符指针 vector 来保存一堆单独的字符串
vector<char*> strings(10);
单个字符串的形式为 char indString[100]
我这样做是为了分配每一个
for (int i=0; i < iLimit; ++i){
gets(indString);
strings[i] = indString;
}
但是当我输出所有内容时
for (auto & stri: strings) cout << stri << endl;
我只是重复读取了最后一个字符串。
最佳答案
您只是存储指向用于读取的缓冲区的指针...所有指针都将指向同一个缓冲区,这就是您看到最后一个字符串重复的原因。
只需使用 std::vector<std::string>
相反。
关于c++ - 快速 C++ I/O 将字符串(字符数组)读入 vector ,并解决错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18034672/