Zapis do pliku

0

Witam
Mam poki co banalny program, ktory tworzy baze danych, umozliwia zapis do pliku i pozniejszy odczyt z pliku. Ale chcialbym dodac opcje wydrukowania zapisanych do pliku danych, a w pliku zapisuja mi sie one w dosc dziwny sposob:
user image

sama funkcja zapisu wyglada tak (tylko nie czepiac sie ew. kiepskiej jakosci kodu, pisalem to dawno temu)

 void zapisz(char* nazwa)
{
current=root->Next;
FILE* stream;
stream=fopen(nazwa,"w+b");
do
{
fwrite(current,sizeof(PERSON),1,stream);
current=current->Next;
}
while(current!=NULL);
fclose(stream);
cout<<"Sukces";
_getch();
}

W jaki sposob zmodyfikowac ja, aby zapisywala dane do pliku w postaci typu:
user image

0

To zapisuj tak, a nie walisz surowo.

0

Co chcesz przez to powiedziec?

0

Zapisuj każde pole po kolei, a pomiędzy nimi dawaj przejście do nowej linii.

0

Czyli tak "z buta". ale fajnie by bylo, jakby cala funkcja zapisu byla dosc uniwersalna i zapisywala po prostu dana pozycje ze struktury niezaleznie od ilosci pozycji w strukturze.

0

Takie rzeczy tylko w erze ;) No może jeszcze w Javie, C#. Niestety w C/C++ nie ma refleksji.

0

No ok, zrobilem po kolei, testowo dla jednego chara i nadal wykrzacza mi txt.

 PERSON* nowa=new PERSON;
             cout<<"Podaj imie: ";
             cin>>nowa->FirstName;
             char temp[20];
             strcpy(temp,nowa->FirstName);
             PERSON* ostatni=GetLast();
             nowa->Next=NULL;
             ostatni->Next=nowa;

             current=root->Next;
             FILE* stream;
             stream=fopen("kiepscy.txt","w+b");
             fwrite(temp,sizeof(temp),1,stream);
             current=current->Next;
             fclose(stream);
             cout<<"Sukces";

i po wpisaniu przykladowo "Stefan" w pliku txt wyskakuje mi

Stefan w˙˙˙˙ăÂÁw¸Âw

0

Bo za dużo piszesz. W fwrite nie sizeof(temp) tylko strlen(temp)

0

Ok, dziala teraz juz wszystko tak jak ma dzialac :) Dzieki wielkie!

0

W zasadzie jeszcze jedno, jesli ktokolwiek ma cierpliwosc, bo sam do siebie juz nie mam nawet ;P
Jak wrzucic spacje albo enter?
Coby sie w pliku zapisalo np:
A B
C
a nie ABC ?

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