我有一个数字网格的大文件(50x11k)。我要做的就是将这些值放入一个向量中,以便我可以同时访问不同行的值。我每次都会遇到段错误(我什至不能在 while 循环之前做一个 cout)。有人看到这个问题吗?
如果有更简单的方法可以做到这一点,请告诉我。它是一个大文件,我需要能够将一行的值与另一行的值进行比较,因此简单的 getline 不起作用,有没有办法跳过文件而不是“抓住”行,而只是“检查”行,以便我以后可以通过输入该数字返回检查同一行?像看一个大数组一样的文件?我想同时查看第三行和该行中的 5 个字符,同时查看第 56 行和第 9 个字符,类似的东西。
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
//int g_Max = 0;
int main() {
vector<vector<string> > grid;
ifstream in("grid.txt");
int row = 0;
int column = 0;
string c;
if (!in) {
cout << "NO!";
}
while (!in.eof()) {
c = in.get();
if ( c.compare("\n") == 0) {
row++;
column = 0;
}
else {
c = grid[column][row];
cout << grid[column][row];
column++;
}
}
return 0;
}