如何从文本文件中读取并将该数据添加到c ++

时间:2015-09-28 00:55:19

标签: c++ streamreader

我有一个包含256对数据的文本文件。我需要将这些对并将它们放入图形的向量中。我知道如何在C#中做到这一点,但我是C ++的新手。文本文件的格式为

125, 151
124, 176
ect...

我需要它以graph [n] [m]的格式进入图形的向量,其中n = 256且m = 256。所以我会读完文件,并在与L / R对相对应的数字上标记1。 所以例如125,151。我会去第125行,我会将151'st 0标记为1。

[n][m]{{0,0,0... 1(//176th 0),0,0,0...}, //124th line
{0,0,0... 1(//151st 0),0,0,0...}, //125th line
ect.

C ++是否有类似C#中的streamreader方法的东西?

以下是7x7最大流量问题的向量样本。

int graph[V][V] = { {0, 6, 7, 0, 0, 0, 0},
                        {0, 0, 1, 3, 4, 0, 0},
                        {0, 0, 0, 2, 0, 5, 0},
                        {0, 0, 0, 0, 3, 2, 0},
                        {0, 0, 0, 0, 0, 0, 7},
                        {0, 0, 0, 0, 2, 0, 4},
                        {0, 0, 0, 0, 0, 0, 0}
                      };

1 个答案:

答案 0 :(得分:0)

正如@Beta在你提问的评论中说的那样,你想要 1)创建一个充满零的二维容器
2)从文本文件中读取数字
3)根据数字更改容器中的一些元素。

所以这里有一些提示:
1-用于创建2D容器:

 auto a = new int[100, 100]{0};

在这段代码中,你创建了一个充满零的int数组。未在{ }部分初始化的元素将设置为默认值。 int为零。

来自文本文件的2-读数:

#include <iostream>
#include <fstream>

并在您的代码中:

int x , y;
ifstream fin("yourFile.txt");
fin >> x >> y; //Jusy like "cin"
//Do what you want
//and after that close the stream
fin.close();

3-根据数字更改容器中的一些元素: 简单地这样做:

a[i,i] = x;