Witam, potrzebuję pomocy przy tablicy struktur. Program się kompiluje aczkolwiek podczas działania wysypuje.
W założeniu potrzebuję, aby dane z pliku w formie:
Adam Nowak [email protected]
Jan Kowalski [email protected]
były przepisane do tablicy struktur.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char imie[50];
char nazwisko [50];
char email[50];
}osoba;
osoba** odczyt_pliku(char nazwa_pliku[50]) {
int i,j=0,k=0;
osoba* tab = (osoba*)malloc(sizeof(osoba)*1000);
char* x = (char*)malloc(sizeof(char)*500);
FILE *plik;
if ((plik=fopen(nazwa_pliku,"r"))==NULL) {
printf("Nie udalo sie otworzyc pliku");
exit(1);
}
else {
while (feof(plik)==0){
fscanf(plik,"%c",&x[i]);
while (x[i]!=' ') {
tab[j].imie[k]=x[i];
k++;
}
tab[j].imie[k]='\0';
k=0;
while (x[i]!=' ') {
tab[j].nazwisko[k]=x[i];
}
tab[j].nazwisko[k]='\0';
k=0;
while (x[i]!='\n') {
tab[j].email[k]=x[i];
}
tab[j].email[k]='\0' ;
k=0;
j++;
i++;
}
}
return tab;
}
int main()
{
printf(odczyt_pliku("adresy.txt"));
return 0;
}