c++讀寫txt文件 matlab讀mat文件

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
	int a[10];
	ifstream in("1.txt");//讀入
	for(int i=0;i<10;i++)
		in>>a[i];
	for(int i=0;i<10;i++)
		cout<<a[i]<<endl;
	
    ofstream out("2.txt");//寫出
	out<<"哈哈";
	in.close();
	out.close();

}
//////////////////////////////////////////////
Double spatial;
ifstream infile("F:\\spatial.txt");
for (int i = 0; i<10; i++)
{
	infile >> spatial; //讀數據的時候因爲數據間有一個空格才能完整的讀出,
	cout << data << " "; //輸出到屏幕,加上空格是爲了分開數字
}
infile.close();


//////////////////////////////////////////////////////////////////
	MATFile *pmatFile = NULL;
	mxArray *pMxArray = NULL;
	// 讀取.mat文件(例:mat文件名爲"B.mat",其中包含"initA"變量)
	double *initA;

	MATFile *pmatFile = matOpen("D://B.mat", "r");
	mxArray *pMxArray = matGetVariable(pmatFile, "initA");
	initA = (double*)mxGetData(pMxArray);
	size_t M = mxGetM(pMxArray);
	size_t N = mxGetN(pMxArray);

	Int **A = new Int *[M];
	for (Int k = 0; k < M; k++)
	{
		A[k] = new Int[N];
	}
	//Matrix <double> A(M, N);
	for (int i = 0; i<M; i++)
		for (int j = 0; j<N; j++)
			A[i][j] = initA[M*j + i];

	matClose(pmatFile);
	mxFree(initA);

	// 生成.mat文件
	double *outA = new double[M*N];
	for (int i = 0; i<M; i++)
	for (int j = 0; j<N; j++)
		outA[M*j + i] = A[i][j];
	pmatFile = matOpen("A.mat", "w");
	pMxArray = mxCreateDoubleMatrix(M, N, mxREAL);
	mxSetData(pMxArray, outA);
	matPutVariable(pmatFile, "A", pMxArray);
	matClose(pmatFile);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章