使用邻接矩阵存储图,填充数据用文件形式
本帖最后由 黄纸明 于 2014-8-28 20:14 编辑例如:有一个文件名为ming.txt数据存放的是
1 2 3
2 3 6
1 4 8
我想通过文件形式的操作实现
其中第一排的意思是arc=3
arc=6
arc=8
#include "stdafx.h"
#include <stdlib.h>
void writeData(int nArray[],int row,int col)
{
FILE* file;
errno_t error;
error = fopen_s(&file,"e:\\XXX.txt","wb");
if (error )
{
printf("文件打开失败");
exit(EXIT_FAILURE);
}
for (int i=0;i<row;i++)
{
for(int j=0;j<col;j++)
{
fwrite(&i,sizeof(int),1,file);
fwrite(&j,sizeof(int),1,file);
fwrite(&nArray,sizeof(int),1,file);
}
}
fclose(file);
}
void readData(int nArray[],int row,int col)
{
FILE* file;
errno_t error;
error = fopen_s(&file,"e:\\XXX.txt","rb");
if (error )
{
printf("文件打开失败");
exit(EXIT_FAILURE);
}
int nRow =0;
int nCol = 0;
for (int i=0;i<row;i++)
{
for(int j=0;j<col;j++)
{
fread(&nRow,sizeof(int),1,file);
fread(&nCol,sizeof(int),1,file);
fread(&nArray,sizeof(int),1,file);
}
}
fclose(file);
}
int _tmain(int argc, _TCHAR* argv[])
{
int nArrayA[] = {{1,2,3,4},{5,6,7,8},{9,10,11,12}} ;
int nArrayB;
writeData(nArrayA,3,4);
readData(nArrayB,3,4);
return 0;
}
编译环境是Visual Studio 2012. 非常感谢! {:1_1:}
页:
[1]