阅读文本文件中的特定信息

时间:2014-08-31 19:40:33

标签: c++ text matrix

正如我的标题所指出的, 我需要在文本文件(C ++)中读取信息。 我看到许多示例涉及组织为数字或字符串列表的文本文件,但在我的情况下,我需要提取文件(example.txt)中的信息,组织如下:

// This is the begin of the text file:
Here_the_coordinates_are_going_to_be_listed
Start
x    y    z
0    0    0
1    0    0
1    1    0
0    1    0
End

理想情况下,我会阅读并存储在" std :: vector" "开始"之间包含的信息和"结束"这样矩阵就是N×3矢量:

matrix[i][j] =  0    0    0
                1    0    0
                1    1    0
                0    1    0

我看了一下教程,到目前为止我得到的是:

  std::array<std::array<int , 5>, 7> matrix;

  std::ifstream file("../test/matrix.txt");

  for (unsigned int i = 0; i < 7; i++)
  {
  for (unsigned int j = 0; j < 5; j++) {
      file >> matrix[i][j];
  }

允许我读取只写入数字的文件。

非常感谢,

的Dario

1 个答案:

答案 0 :(得分:0)

去看看这里:http://www.cplusplus.com/doc/tutorial/files/关于如何读/写文件,然后你可以浏览文件并查找第一个相关字符(或最后一个字符,如本例中的z),然后只需遍历所有相关字符并将它们存储在一个二维数组中(如果你不知道列表的长度,也可以是动态的)

编辑:

所以这里有一个关于如何从上面的链接读取文本文件的网站的例子(我更新了,我很抱歉)所以基本上这个想法如下所示,你打开了文件,然后你只需在这里循环每一行(我想你也可以使用getchar代替字符,这对你来说可能更好,但我不太确定它是多么令人兴奋,你只需要乱七八糟有点,我相信你会得到它:))所以这里的行只是保存在一个字符串然后使用cout打印出来,但你可以进一步操作字符串来找到你的数据,我希望这有助于!如果我不够清楚,请随时再问一下

// reading a text file
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () 
{
    string line;
    ifstream myfile ("example.txt");
    if (myfile.is_open())
    {
        while ( getline (myfile,line) )
        {
            cout << line << '\n';
        } 
        myfile.close();
     }

     else cout << "Unable to open file"; 

     return 0;
 }