正如我的标题所指出的, 我需要在文本文件(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
答案 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;
}