发布网友 发布时间:2024-10-24 00:45
共5个回答
热心网友 时间:2024-10-27 15:29
//把二维数组内容写入到文件中
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();
热心网友 时间:2024-10-27 15:29
有一本书叫 VC++深入详解 里面有你要的内容 是CArchive类的
热心网友 时间:2024-10-27 15:30
嗯,看一下CFile的函数
virtual UINT Read (void* lpBuf,UINT nCount);
virtual void Write(const void* lpBuf,UINT nCount);
是 void * ,直接把二维数组手地址给他,然后计算出数组的整个大小
读的时候也一样
热心网友 时间:2024-10-27 15:30
参考一下清华大学的电子书籍吧,那个教材很不错,如果你没有找我要一份,我的饿邮箱是ziyangzhenren@126.com
热心网友 时间:2024-10-27 15:31
我说我不知道VC++,结果别人笑!!晕!