C++從txt檔案中讀取二維的陣列
阿新 • • 發佈:2019-02-16
此文章用來做筆記,
從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; }