problema funzione!!

newc

Nuovo Utente
3
1
salve a tutti sono un nuovo utente...
nel codice qui presente quando viene eseguita la funzione person_read le lattura dal file avviene correttamente e dentro a "pp" ci vanno a finire i dati ....una volta uscito dalla funzione pero "pp" si annulla....dove è l'errore ??grazie mille

Codice:
#define _CRT_SECURE_NO_WARNINGS
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
struct person{
    char name[255];
    unsigned int age;
};
extern void person_read(FILE *f, struct person* pp){
    pp = malloc(sizeof(struct person));
    fscanf(f, "%s %u", pp->name, &pp->age);
}
int main(void){
    FILE *f;
    struct person* pp=NULL;
    f = fopen("person1.txt", "rt");
    person_read(f,pp);
    fclose(f);
}
 
Ultima modifica:

Prt

Utente Attivo
640
55
Non sono un espertone ma dal codice che hai postato non vedo la scrittura su file e non vorrei che il problema è proprio lì.Prova a postare il programma per intero.
 

newc

Nuovo Utente
3
1
grazie della risposta...
il programma non deve fare scrittura su file ...deve leggere da file <nomepersona> <età>
 

Prt

Utente Attivo
640
55
Non programmo da molto tempo però spero di poterti aiutare ma se non ricordo male dovresti mettere quando passi pp alla funzione una &.Cioè nella riga di comando:
person_read(f,pp); Se la memoria non mi inganna dovresti sostituirla con: person_read(f,&pp);

Idem nella funzione quando assegni name dovresti usare la & se non mi sbaglio.Spero di non aver detto una cavolata :)
 

newc

Nuovo Utente
3
1
problema risolto
Codice:
[COLOR=#333333]#define _CRT_SECURE_NO_WARNINGS[/COLOR]#include <string.h>
#include <stdio.h>
#include <stdlib.h>
struct person{
    char name[255];
    unsigned int age;
};
extern void person_read(FILE *f, struct person* pp){
    fscanf(f, "%s %u", pp->name, &pp->age);
}
int main(void){
    FILE *f;
    struct person pp;
    f = fopen("person1.txt", "rt");
    person_read(f,&pp);
    fclose(f); [COLOR=#333333]}[/COLOR]

grazie delle risposte!!!
 
  • Mi piace
Reazioni: Prt

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili