c++ - 如何使用 C++ 提取由空行分隔的行并将其存储为数组

标签 c++ file

我有一个文件如下:

*|NET s2 0.019760FF
C1_4 I_1:ZN 0 0.000000FF
C2_4 I_2:A 0 0.000000FF

*|NET s3 0.019760FF
C1_3 I_2:ZN 0 0.000000FF
C2_3 I_3:A 0 0.000000FF

现在假设我有一个字符串数组,

std::vector<std:vector<string>> my_vec

我必须解析此文件并从 *|NET 中提取所有行,直到到达空白行并将这些行存储在 my_vec[0] 中。同样,来自 *|NET 的下 3 行必须存储在 my_vec[1] 中。

由于我是 C++ 的新手并且不习惯使用文件,所以我需要一些帮助来解决这个问题。

最佳答案

以下是一组要遵循的步骤:

  1. 使用ifstream读取文件
  2. 在流可以被读取的情况下,读取一个字符串(提示流的operator>>)
  3. 如果读取的字符串是*|NET push_back() 一个 vector 到my_vec
  4. push_back() 字符串到 my_vecback() 处的 vector

关于c++ - 如何使用 C++ 提取由空行分隔的行并将其存储为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34158644/

相关文章:

c++ - 声明与类型不兼容

c++ - 类模板中成员变量的顺序

java - 在 java 中直接从 URL 将文件 POST 到 REST api,而不写入磁盘

c# - 使用带分隔符的文本文件

c++ - C++中从FILE结构解析为字符串

c++ - 有没有一种方法可以将 Qt 中的信号设为 `eat`?

c++ - 如何让SFINAE工作选择通过多重继承继承的模板方法

c++ - 如何在C++中读取输出

c++ - 读取文件,存入数​​组,报错: no match for 'operator>>'

java.io.FileNotFoundException : (Access is denied)