c语言 把邻接矩阵的相关数据存入文件中

MGraph CreatMG(MGraph g)
{
int i,j,k,n;

cout<<"输入顶点数和边数";
cin>>g.n>>g.e;

for(i=0;i<g.n;i++)
{
    cout<<"序号为"<<i<<"的值";
    cin>>g.vexs[i].data;
    g.vexs[i].no=i;
}

for(i=0;i<g.n;i++)
{
    for(j=0;j<g.n;j++)
    {
        g.edges[i][j]=0;
    }
}

for(k=0;k<g.e;k++)
{
    cout<<"输入该边的始点与终点以及权值";
    cin>>i>>j>>n;

    g.edges[i][j]=n; 
}

return g;

}这是邻接矩阵的建立

如果MGraph 是结构体,用二进制存取最方便。你的函数建议用引用:

 void CreatMG(MGraph &g);

#include<stdio.h>
void main()
{
    MGraph mg;
    FILE * fp;
    CreatMG(mg);
    fp=fopen("data.dat","wb");
    if(fp==NULL) return;
    fwrite(&mg,sizeof(MGraph),1,fp);
    fclose(fp);
}