[英]Read Text File Line by Line, then word by word c++, push on to an array
我的数据如下:
12 32 21 42
33 566 332 12
66 994 4 33
12 33 33 41
我想将前三个值推入整数向量,而忽略最后一个值。 我需要在每一行中有一个新的前三个数字向量。 只是空格用作分隔符(TAB)。 谢谢!
好吧,最终您希望以文本文件中每行3个整数的std::vector<int>
结尾。 这基本上是解析文件的练习,使用C ++文件流对象和流输入迭代器非常容易。
使用std::ifstream
对象打开文件。 然后,您可以使用std::istream_iterator<int>
遍历文件中的每个整数。 这将提取每个整数,因此您可以将其存储在向量中。 如果要舍弃每行的第四个整数,只需方便使用计数器变量,这样就可以舍弃每第4个值。
这基本上就是它。 我会留给你实际生成代码。
std::getline()
遍历文件中的每一行 std::istringstream
以解析出整数 注意这里发生的事情:您写了一个问题,我将其翻译为一系列指令,最后将其翻译为代码。 这就是我们编写简单程序的方式。 诀窍在于充分了解问题,以将其转换为上述伪代码 。
如果您只是直接读取文件, std::ifstream
将起作用。 如果你正在使用getline
(这里真的没有必要),你可以编写一个简单的split函数来分隔值并插入你想要的值。 因为这听起来像学校作业,我怀疑你会想要使用boost::
方法,这会使这相当微不足道。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.