Mam problem z zapisaniem do pliku po sortowaniu C . Normalnie jeśli dodam elementy, edytuję czy usunę to zmiany zostają zapisane w pliku, lecz gdy posortuję dane to już program nie chcę zapisać. Co w moim kodzie jest nie tak , jak być powinno?
typedef struct katal
{
char NAZWA[20];
char WYKONAWCA[20];
char SERIA[15];
char RODZAJ[5];
}katalog;
FILE *plik;
char nazwa[20];
int sortuj_NAZWA (void* a, void* b)
{
katalog *el1= (katalog*)a;
katalog *el2= (katalog*)b;
return strcmp(el1->NAZWA,el2->NAZWA);
}
void sortNazwa(katalog kat[])
{
plik =fopen(nazwa,"w");
fprintf(plik, "%d\n", &dlugosc);
qsort(kat,dlugosc, sizeof(katalog),sortuj_NAZWA);
fclose(plik);
printf("Dane posortowane\n");
}