c++ - 快速 C++ I/O 将字符串(字符数组)读入 vector ,并解决错误

标签 c++ string

现在我正在尝试使用字符指针 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/

相关文章:

c++ - 使用 OpenCV 捕获网络摄像头图像时可以设置颜色深度吗?

c++ - C++ 中是否有 parallel_for 的增强函数?

c++ - 堆栈跟踪分析工具

Python 正则表达式与年月组合不匹配

python - 如何将一个字符串的前两个字母与第二个字符串的前两个字母交换?

c++ - 通过构造函数将值传递给 std::ifstream

Python String 到列表处理

java - UTF8 字符串到 byte[],每个字符作为单个字节

c++ - 如何使用字符串和整数获取字符串?

c++ - 在没有 root 权限的情况下使用 UDP 套接字