zapis do pliku z tablicy strukturowej c

0
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct{
char autor[50];
char tytul[50];
float czas;
char rodzaj;
}rozglosnia;
int main()
{
    rozglosnia tab[250];
    int licznik=0;
    FILE *autorzy=fopen("autorzy.dat","rb");
    FILE *tekstowy=fopen("autorzy.txt","w");
    while(fread(&tab[licznik],sizeof(rozglosnia),1,autorzy)!=0)licznik++;
    int j,k=licznik-1;
        for(j=0;j<licznik;j++){
    printf("%s\t%s\t%f\t%c\n",tab[j].autor,tab[j].tytul,tab[j].czas,tab[j].rodzaj);}
    fwrite(tab,sizeof(rozglosnia),licznik,tekstowy);
   // qsort(tab,licznik,sizeof(rozglosnia),comparea);
    return 0;
}

licznik to rozmiar tablicy strukturowej.
import z pliku autorzy.dat działa poprawnie, ale fwrite, coś źle. prosze o pomoc.

1

fwrite zapisuje binarnie, użyj np fprintf (będziesz musiał przejechać pętlą po tablicy).

0

ale sposób użycia tutaj jest poprawny?
gdybym oczywiście zapisywał do pliku binarnego?

0

Wydaje mi się, że tak, możesz podmienić .dat na .txt i sprawdzić :P I na koniec wypadałoby zamknąć pliki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1