#include<stdlib.h>
#include<string.h>
#include<stdio.h>
typedef struct{char marka[20]; int rocznik; char kolor[10]; long int cena; long int przebieg;}samochod;
void wyswietl(samochod*okaz)
{
printf("%s %d %s %ld %ld \n",okaz->marka, okaz->rocznik, okaz->kolor, okaz->cena, okaz->przebieg);
}
/*void eksportuj(samochod *autko)
{
FILE*plik=fopen("plik.dat","w");
fwrite(autko,sizeof(autko),10,plik);
}*/
void zapisz(char* nazwa, samochod* wsk)
{
FILE* fd=fopen(nazwa,"wb");
if(!fd)
{ fprintf(stderr,"Blad"); exit(1);}
fwrite(wsk,sizeof(samochod),1,fd); // co,rozmiar,ile,gdzie
if(ferror(fd)){
fprintf(stderr,"Blad odczytu");
}
fclose(fd);
}
int main()
{
//zad1
samochod okaz={"ToyotaCo", okaz.rocznik ,"czerwony",6000, okaz.przebieg};
printf("Podaj rocznik: ");
scanf("%d", &okaz.rocznik);
printf("Podaj przebieg: ");
scanf("%dl", &okaz.przebieg);
wyswietl(&okaz);
//eksportuj(&okaz);
samochod okaz2=okaz;
//okaz2.kolor="zielony";
//scanf("%s", &okaz2.kolor);
okaz2.cena=5500;
//zad2
/* printf("\n Podaj sciezke dostepu: ");
char sciezka[25];
scanf("%s", &sciezka);
zapisz(sciezka,&okaz);*/
zapisz("C:\\Users\\Janet\\Desktop\\danene.dat", &okaz);
//eksportuj(&okaz2,sciezka);
return 0;
}
Mam problem z funkcja zapisz, powinna zapisywać typ strukturalny samochod do pliku danene.dat. Zamiast tego wypisuje w tym przykladzie do pliku : ToyotaCo b czerwony p b