我想C++ - 逐行讀取文件,並將每行w.r.t分割爲"\t"
字符以填充矩陣。我的代碼會是這樣的C++ ifstream split w.r.t.一個字符
ifstream data_x;
double** test_data = new double*[100];
for(int j = 0 ; j < ; j++)
test_data[j] = new double[4];
data_x.open("X.txt");
int i = 0;
if (data_x.is_open())
{
while (!data_x.eof())
{
char** split = data_x.split("\t")
for(int k = 1 ; k < 4 ; k++)
test_data[i][k];
i++;
}
}
data_x.close();
ifstream data_y;
data_y.open("Y.txt");
i = 0;
if (data_y.is_open())
{
while (!data_y.eof())
{
data_y >> test_data[i][0];
i++;
}
}
data_y.close();
其中語法
char** split = data_x.split("\t")
for(int k = 1 ; k < 4 ; k++)
test_data[i][k];
是近似的。如何正確使用C++?
感謝
使用std :: string,getline和字符串庫函數。 – DumbCoder
首先,使用std :: string,然後使用boost字符串算法庫來分割每一行。 –
每當我看到while(!data_x.eof())''我可以保證下面的代碼是錯誤的。 (它可以以這種方式正確地完成,但是有很多整潔的成語,所以知道的人在測試中不使用eof()。) –