gpt4 book ai didi

c - LinkList 写入二进制文件

转载 作者:行者123 更新时间:2023-11-30 19:19:43 25 4
gpt4 key购买 nike

我试图将这个链接列表写入二进制文件,但它给了我一个访问冲突。 InsertVertice 和 InsertAresta 创建该结构的一个新实例并且工作正常,所以我不知道为什么这会给我一个错误。如果您需要,我可以在此处添加 InsertVertice 和 InsertAresta 函数。

typedef struct Arestas
{
int vertice;
char Action[100];
struct Arestas* next;
}*arestas;

typedef struct Vertices
{
int vertice;
struct Vertices* next;
struct Arestas* adjacente;
}*vertice;

void WriteBin(vertice v)
{
FILE * f;
vertice apt = v;
struct Arestas* aresta;
int i;
f = fopen("Grafo.bin","wb");
while(apt!=NULL)
{
aresta = apt->adjacente;
fwrite(apt->vertice,sizeof(int),1,f);
while(aresta!=NULL)
{
fwrite(aresta->vertice,sizeof(int),1,f);
fwrite(aresta->Acao,sizeof(char),100,f);
aresta = aresta->next;
}
apt = apt->next;
}
}

void main()
{
vertice v= NULL;
v = InsertVertice(v,1);
v = InsertAresta(v,1,2,"ola");
v = InsertAresta(v,1,3,"hey");
v = InsertAresta(v,1,4,"oi");
v = InsertAresta(v,1,5,"hello");
WriteBin(v);
system("pause");
}

最佳答案

fwrite 将指向您正在写入的数据的指针作为第一个参数。您没有向它传递一个指向 int 的指针。您实际上正在传递 int。

您可能需要对第一个参数执行类似 &(apt->vertice) 的操作。

关于c - LinkList 写入二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23838789/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com