La Red de Conocimientos Pedagógicos - Currículum vitae - Traducción de Addrbook

Traducción de Addrbook

Tómalo y úsalo~

# include ltstdio.h gt

# include ltmalloc.h gt

# include ltstring.h gt

Dirección de la estructura

{

int a;

int b

char c; * Siguiente;

};

void SaveToFile(dirección de estructura *p, archivo *fp)

{

if (p! = vacío)

{

Hacer

{

fwrite(p, sizeof(dirección de estructura), 1, FP); /p>

p = p- gt;

}

Y (p! = NULL

}

<); p>}

int load(FILE *fp, struct Address **head, int ampN) //Lee los datos del archivo y crea una lista vinculada.

{

Dirección de estructura *p1, * p2

*head = (dirección de estructura*) malloc(sizeof(dirección de estructura));

memset(*head, 0, sizeof(dirección de estructura));

if( fread(*head, sizeof(dirección de estructura), 1, fp)!= 1)

{

Gratis(*cabeza);

* cabeza = NULL

retorno(0);

}

p2 = *cabeza;

n;

y (!feof(fp))

{

p1 = (dirección de estructura*) malloc(sizeof(dirección de estructura));

fread(p1, sizeof(dirección de estructura), 1, FP);

p2->; 1;

p2 = p 1;

n;

}

p2->; siguiente = NULL

Return(n);

}

void main()

{

Dirección de estructura * encabezado;

int n = 0;

Dirección de estructura * Prueba[10] = { 0 }

int I = 0

ARCHIVO * fp =; NULL

for(;ilt10;i)

{

Prueba[i] = (dirección de estructura*)malloc(sizeof(dirección de estructura)); /p>

if(Test[i]!=null)

{

memset(Test[i], 0, sizeof(dirección de estructura));

p>

//Ingresa tus datos (a,b,c)

//Como se muestra a continuación

Prueba[I]- gt;a = 100 I;/ /Si no se usa, comentarlo

}

}

for(I = 0;ilt10;i)

{

If (i lt10)

{

Prueba[I]- gt; next = Prueba[I 1] //Vincular el puntero de estructura; a una lista enlazada en el medio.

}

}

if((fp = fopen("addrbook","wb"))!=null)

{

Guardar en archivo(Prueba[0], FP);

fclose(FP);

}

if((fp =); fopen("addrbook","rb"))!=null)

{

load(FP amp; encabezado, n);

}

}