c++解析动态数组中的getline

标签 c++ foreach dynamic-arrays

我已经问过,如何将流中的单个词解析为变量,而且效果很好,但我不知道用户将提供多少词作为输入。我以为我可以将它解析成一个动态数组,但我不知道从哪里开始。我怎样才能写“对于每个单词”?

这就是我将单词解析为变量的方式:

string line;
getline( cin, line );
istringstream parse( line );
string first, second, third;
parse >> first >> second >> third;

谢谢!

编辑:感谢你们所有人,我想我知道了......而且它有效!

最佳答案

你可以使用 std::vector<std::string>std::list<std::string> -- 它们会自动处理调整大小。

istringstream parse( line ); 
vector<string> v;
string data; 
while (parse >> data) {
  v.push_back(data);
}

关于c++解析动态数组中的getline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10700801/

相关文章:

c++ - 使用 reverse_iterator 而不是 const_reverse_iterator 并得到讨厌的编译器警告和错误

javascript - 在对象数组中查找属性(作为字符串存储在变量中)

c - C 中的动态一维数组不想在每个框中摄取文件的每个字符

php - 如何使用数组进行字符串循环?

javascript - Sequelize Foreach 循环在更新数据之前发送响应

java - 初始化对象数组时的默认值是什么

C++ - 重载运算符 >> 并使用 C 风格字符串处理输入

c++ - 使用 qsort 对 2D 数组进行排序 - 正确的类型转换

c++ - 将字符串参数传递给函数时出现语法错误

c++ - 为什么我的反汇编 C++ 代码使用指令指针和偏移量来获取字符串文字?