fid=fopen("bif.bin","wb")
fwrite(fid,A','double')%A是矩阵,double是保存文件的数据类型。A'是A的转置,原因是,在matlab中数据是按列存放,c中是按行。所以在matlab中应先进行转置,这样
%到c中读出的数据才是正确的。
2.c:
(1)c中使用fopen,读取到二维数组中
int num_read = fread(buf, 1, length, fp)
不行,一般的教学C语言 比如是 tc2 broland C++ 4.0-不支持1M 以上的内存,
用windows下面的 c++ 吧,我用的vc2008 呵呵(从5.0用到现在有感情了)
下面是例子
#include "windows.h"
#include "Winbase.h"
int _tmain(int argc, _TCHAR* argv[])
{
int *lpMem = (int *) VirtualAlloc(NULL,sizeof(int)*14100025,MEM_COMMIT,PAGE_READWRITE)
if(lpMem!=NULL)
{
//在这里
for(int c = 0 c<14100025c++ )
{
lpMem[c] = c
}
VirtualFree(lpMem,sizeof(int)*14100025,MEM_RELEASE)
}
printf("-------------------")
return 0
}
最简单的的使用save函数 如下 *** 作>>a=[1 2 3 4 5 6]
a =
1 2 3 4 5 6
>>save a.dat a
此时在当前路径下就会生一个二进制文件a.dat,二进制文件使用txt打开时乱码的,但是可以使用Matlab的fread和load都可以重新读入
另外如果不觉得麻烦的话可以使用fopen和fwrite组合,将数据写入文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)