今天做了一个矩阵相乘的例子,里面涉及到了一点点的C++文件流的知识,现整理如下。
1、默认的文件是放在当前工作空间目录中与源文件在同一目录下的。如果要更改文件位置只需要写出全名即可,不过注意其中的分隔符是双斜杠
如:"D:\\MyFiles\\ReadMe.txt"
2、简单的文件读写 fstream ifstream ofstream fin>>a[i][j] 从文件中输出到程序中的变量里面 fout<<c[i][j] 从程序中输入到文件中。注意文件流需要close.
3、矩阵相乘注意一开始初始化矩阵时所用的方法,用二维数组来代表矩阵,double **a, a = new double *[m], for(i = 0;i <m;i++) a[i] = new double[n] , 这样就建立了一个m*n的二维矩阵。
PS:发现另一种建立二维矩阵的方法,int m,n;cin>>m;cin>>n;int *a = new double [m*n],for(i = 0;i <m;i++)for(j = 0;j <n;j++) cin>> a[i*n][j]
pps:我错了,上面不是建立二维数组的方法,是用一位数组来表示矩阵的方法,实际是一个动态的一位数组!而不是二维数组,其实也可以用一位数组来表示矩阵的。i*n + j 一般都是这样的思路,而实际上二维数组在内存中的存放方式仍然是按照一维数组那样存放的,以列为主。
4、矩阵相乘的原理要搞明白则在进行相乘的过程中才能将其思想很好的表达清楚。
5、还是要学习一下C++读写文件的知识
http://www.cnblogs.com/CaiNiaoZJ/archive/2011/08/18/2144247.html
这篇文章写得不错
1)文件-》文本文件和 二进制文件
2)可以用各种不同的方式对打开文件或者创建文件,有不同的参数进行选择,默认为in与out,如果不是对文件进行很复杂的操作,这两个足以。
3)可以对文件进行查找和有针对性的操作。也提供了一系列函数
4)如果要熟练应用,应该去写个例子练练手。