vc++中 将二维数组导入或导出 TXT文件
已经生成一个二维数组,想通过一个函数按一定格式导入到一个TXT文件中,然后另一个函数是将以上TXT文件中的内容按照以上格式导入到这个函数新定义的一个二维数组中,以便计算。...
已经生成一个二维数组,想通过一个函数按一定格式导入到一个TXT文件中,然后另一个函数是将以上TXT文件中的内容按照以上格式导入到这个函数新定义的一个二维数组中,以便计算。
这样两个函数改如何实现呢?现在在学CFile 和CArchive,老是做不好
最好有现成的傻瓜函数代码,能提供下吗?
我还是个VC++菜鸟 ,,呵呵 高手多多知道哈 展开
这样两个函数改如何实现呢?现在在学CFile 和CArchive,老是做不好
最好有现成的傻瓜函数代码,能提供下吗?
我还是个VC++菜鸟 ,,呵呵 高手多多知道哈 展开
5个回答
展开全部
//把二维数组内容写入到文件中
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();
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();
展开全部
有一本书叫 VC++深入详解 里面有你要的内容 是CArchive类的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嗯,看一下CFile的函数
virtual UINT Read (void* lpBuf,UINT nCount);
virtual void Write(const void* lpBuf,UINT nCount);
是 void * ,直接把二维数组手地址给他,然后计算出数组的整个大小
读的时候也一样
virtual UINT Read (void* lpBuf,UINT nCount);
virtual void Write(const void* lpBuf,UINT nCount);
是 void * ,直接把二维数组手地址给他,然后计算出数组的整个大小
读的时候也一样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参考一下清华大学的电子书籍吧,那个教材很不错,如果你没有找我要一份,我的饿邮箱是ziyangzhenren@126.com
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我说我不知道VC++,结果别人笑!!晕!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询