non ho capito quello che hai scritto, scusami.. in che senso argomento passato?
comunque cambiando la fread il programma funziona..
codice:
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
/* definisco la struttura */
struct contatto {
char nome[255];
char cognome[255];
char telefono[255];
};
struct contatto *link;
/* corpo della prima1 funzione */
void contatto_read_bin (struct contatto *pc, FILE *f) {
fread(pc->nome, sizeof(struct contatto), 1, f);
fread(pc->cognome, sizeof(struct contatto), 1, f);
fread(pc->telefono,sizeof(struct contatto), 1, f);
}
/* corpo della seconda funzione
void contatto_print (struct contatto *pc, FILE *f) {
}
*/
main(){
FILE *frp;
FILE *fwp;
frp=fopen("contatto1.bin", "rb");
fwp=fopen("contatto.txt", "rt");
link = malloc(sizeof(struct contatto));
if (frp==NULL || fwp==NULL){
printf("errore nell'apertura di un file");
system("pause");
exit(1);
}
contatto_read_bin (link, frp);
printf("i valori letti dal file sono: \nnome: %s \ncognome: %s \nnumero di telefono: %s.\n", link->nome, link->cognome, link->telefono);
system("pause");
/*
contatto_print (pc, fwp); */
}