Piszę funkcję zapisującą wyniki równania kwadratowego, właśnie mam ją przerobić aby zapisywała rozwiązania do pliku binarnego. Oto ta funkcja:
void binarny(float x1, float x2, int n){
float tab[n];
FILE * plik2; // deklaracja wskaźnika do pliku
plik2= fopen("wyniki.bin", "w+");
float granica_1=a*(x1*x1)+b*x1+c;
float granica_2=a*(x2*x2)+b*x2+c;
fprintf(plik2, "Rownanie: %dx^2 + %dx + %d\n", a, b, c);
fprintf(plik2, "Skrajne argumenty: %.2f, %.2f.\n", x1, x2);
fprintf(plik2, "Przedzial wartosci: <%.2f, %.2f>\n", granica_1, granica_2);
float skok = (x2-x1) / n;
fprintf(plik2, "Rozwiazania z tego przedzialu:\n");
for(int i=0; i<n; i++){
tab[i] = granica_1;
x1 = x1 + skok;
granica_1=a*(x1*x1)+b*x1+c;
}
size_t fwrite(tab, sizeof (float), n, plik2);
fclose(plik2);
}
Kompilator wskazuje błąd w linijce z funkcją fwrite(), jak powinienem ją zmienić?