vc++中 将二维数组导入或导出 TXT文件

已经生成一个二维数组,想通过一个函数按一定格式导入到一个TXT文件中,然后另一个函数是将以上TXT文件中的内容按照以上格式导入到这个函数新定义的一个二维数组中,以便计算。
这样两个函数改如何实现呢?现在在学CFile 和CArchive,老是做不好
最好有现成的傻瓜函数代码,能提供下吗?
我还是个VC++菜鸟 ,,呵呵 高手多多知道哈

//把二维数组内容写入到文件中
int a[10][20];
..... //二维数组赋值
CFile f;
f.open("data.txt", CFile::modewrite|CFile::modecreate);
if( !f ) return; //打开文件失败
int row=10, col=20;
f.write(&row, sizeof(row) ); //写入行数
f.write(&col, sizeof(col) ); //写入列数
for(int i=0; i<row; i++)
f.write( a[i], sizeof(int) * col ); //每次把一行的数据写入文件中
f.close();

//从文件中读入数据到二维数组
int b[10][20];

CFile f;
f.open("data.txt", CFile::modeRead| CFile::shareDenyWrite);
if( !f ) return;
int row,col;
f.read(&row, sizeof(row) );
r.read(&col, sizeof(col) );

//比较行、列数是否相同
if( row != 10 || col != 20 )
{ AfxMessageBox("行列数不符");
return;
}
//读出数据
for(int i=0; i<row; i++)
f.read( b[i], sizeof(int) * col ); //每次把一行的数据读出
f.close();
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-24
有一本书叫 VC++深入详解 里面有你要的内容 是CArchive类的本回答被提问者采纳
第2个回答  2008-08-17
嗯,看一下CFile的函数
virtual UINT Read (void* lpBuf,UINT nCount);
virtual void Write(const void* lpBuf,UINT nCount);
是 void * ,直接把二维数组手地址给他,然后计算出数组的整个大小
读的时候也一样
第3个回答  2008-08-19
参考一下清华大学的电子书籍吧,那个教材很不错,如果你没有找我要一份,我的饿邮箱是[email protected]
第4个回答  2008-08-17
我说我不知道VC++,结果别人笑!!晕!
相似回答