1. 程式人生 > >C++從txt檔案中讀取二維的陣列

C++從txt檔案中讀取二維的陣列

此文章用來做筆記,

從MATLAB中儲存的二維陣列1500*2的資料到txt檔案中,格式化儲存方式如下:

MATLAB程式碼:
fid=fopen('data.txt','wt');
for i=1:1500
    fprintf(fid,'%.3f\t%.3f\n',r(i,:));
end
fclose(fid);
其中r是1500*2的矩陣

在C++中讀取到程式中,使用檔案流:

#include<iostream>
#include<fstream>
#include<typeinfo>
using namespace std;
int main()
{
	float data[1500][2] = { 0 };//定義一個1500*2的矩陣,用於存放資料
	ifstream infile;//定義讀取檔案流,相對於程式來說是in
	infile.open("data.txt");//開啟檔案
	for (int i = 0; i < 1500; i++)//定義行迴圈
	{
		for (int j = 0; j < 2; j++)//定義列迴圈
		{
			infile >> data[i][j];//讀取一個值(空格、製表符、換行隔開)就寫入到矩陣中,行列不斷迴圈進行
		}
	}
	infile.close();//讀取完成之後關閉檔案
	cout << data[3][0] <<','<<data[3][1]<< endl;//以下程式碼是用來驗證讀取到的值是否正確
	cout << data[10][0] << ',' << data[10][1] << endl;
	cout << typeid(data[3][0]).name()  << endl;
	cout << "Hello" << endl;
	system("pause");
	return 0;
}