[c++] Daten werden nicht korrekt in eine Datei geschrieben

Messiahs_128

Commodore Special
Mitglied seit
09.06.2002
Beiträge
453
Renomée
2
Standort
Magdeburg
Hallo,
ich hab mir eine verkettete Liste geschrieben. Dessen Inhalt soll ich eine Datei geschrieben werden. Leider schreibt er mir nur vierecke in die datei. ich programmiere unter Win XP mit DEV++ 4.9.9.2. DIe daten die in der LIste stehen sind alle korrekt.
Danke im vorraus

Code:
void saveList()
            {
             cout<<"Wo sollen daten gespeichert werden?"<<endl;
              cin>>fileName;
              ofstream fout(fileName,ios::app);
              p_akt=p_root;
              
              while(p_akt!=NULL)
              {
                 string n;
                 char *c;
                 
                 n=p_akt->getArtikelBez();
                 strcpy(c,n.c_str());
                 fout << c << "*";
                 n=p_akt->getME();
                 strcpy(c,n.c_str());
                 fout << c << "*";
                 n=p_akt->getGefahrKlasse();
                 strcpy(c,n.c_str());
                 fout << c << "*";
                 n=p_akt->getHersteller();
                 strcpy(c,n.c_str());
                 fout << c << "*";
                 n=p_akt->getLagermenge();
                 strcpy(c,n.c_str());
                 fout << c << "*";
                 n=p_akt->getArtikelpreis();
                 strcpy(c,n.c_str());
                 fout << c << "*";
                 n=p_akt->getWarengruppe();
                 strcpy(c,n.c_str());
                 fout << c << "*";
                 p_akt=p_akt->next;
               }
              fout.close(); 
            }
 
statt:
strcpy(c,n.c_str());
fout << c << "*";

einfach so:
fout << n << "*";

Das Problem ist, dass auf "c" kein Speicherplatz reserviert ist.

Oder so:
char c[256];
 
Zuletzt bearbeitet:
Das Problem ist das wenn ich einen float in einen string umwandele es zur fehlerhaften umwandelung kommt. naja werd mal googlen gehen.

edit 1:

so das mit den float habe ich hin bekommen.
Schreiben geht jetzt ohne probleme dafür macht das einlesen Probleme...
Und zwar liesst er die ersten 2 daten ein und dann stürtz das programm ab.

ich hab jetzt mal den sourcecode mit hinzugefügt
 
Zuletzt bearbeitet:
SO habs hin bekommen
im Konstruktor habe ich vergessen den pointer chemikalie *hilf mit new zu intialiesieren.
 
Zurück
Oben Unten