黄纸明 发表于 2014-8-28 19:26:54

使用邻接矩阵存储图,填充数据用文件形式

本帖最后由 黄纸明 于 2014-8-28 20:14 编辑

例如:有一个文件名为ming.txt数据存放的是
1 2 3
2 3 6
1 4 8
我想通过文件形式的操作实现
其中第一排的意思是arc=3
arc=6
arc=8

流行语 发表于 2014-8-29 00:42:33

#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.

黄纸明 发表于 2015-3-24 22:51:49

非常感谢!

阔怀 发表于 2015-8-16 16:06:34

{:1_1:}
页: [1]
查看完整版本: 使用邻接矩阵存储图,填充数据用文件形式