搜索

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

发布网友 发布时间: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++,结果别人笑!!晕!
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top