tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
5
ZUGRIFFE
375
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Messiahs_128 Messiahs_128 ist offline Mitglied Bronze
    Registriert seit
    Mar 2006
    Ort
    Hecklingen(ASL)
    Beiträge
    25
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    
    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(); 
                }
     

  2. #2
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.800
    Blog-Einträge
    5
    Du hast vergessen, den Zeiger c zu initialisieren (z.B. durch Speicherreservierung)

    Ganz abgesehen davon: warum willst du den String erst in einen anderen Speicherbereich kopieren, bevor du ihn ausgibst?
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  3. #3
    Messiahs_128 Messiahs_128 ist offline Mitglied Bronze
    Registriert seit
    Mar 2006
    Ort
    Hecklingen(ASL)
    Beiträge
    25
    hm gute Frage hab mir ein tutoriall durch gelesen und da wurde das mit chars gemacht. ich hab jetzt den string rein geschrieben jetzt geht es.
    thx
     

  4. #4
    Messiahs_128 Messiahs_128 ist offline Mitglied Bronze
    Registriert seit
    Mar 2006
    Ort
    Hecklingen(ASL)
    Beiträge
    25
    SO jetzt geht zwar alles mit schreiben. Aber beim lesen stürtz er mitten drin ab. Ich habe leider keine ahnung woran das leigen könnte.
    Angehängte Dateien Angehängte Dateien
     

  5. #5
    Registriert seit
    Dec 2001
    Ort
    Bayern
    Beiträge
    5.800
    Blog-Einträge
    5
    Du benutzt in listeFuerCHem.h wiederum eine Zeigervariable, ohne sie zu initialisieren (chemikalie *hilf).

    Außerdem ist es äußerst ungewöhnlich, die Implementation einer Klasse in der Headerdatei abzulegen. Weiterhin sollte im Konstruktor einer Klasse selbige nur initialisiert werden – das Auslesen von Daten aus einer Datei ist in einer separaten Methode besser aufgehoben.
     
    „Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
    “For every complex problem, there is an answer that is short, simple and wrong.”
    “Pessimism is safe, but optimism is a lot faster!”


    Aktuelles Coding Quiz: #17 - Wörter kreuz und quer

  6. #6
    Messiahs_128 Messiahs_128 ist offline Mitglied Bronze
    Registriert seit
    Mar 2006
    Ort
    Hecklingen(ASL)
    Beiträge
    25
    Thx jetzt klappt alles
     

Ähnliche Themen

  1. Daten werden nicht in DB geschrieben
    Von MajotPayne im Forum PHP
    Antworten: 15
    Letzter Beitrag: 20.09.09, 12:17
  2. Antworten: 6
    Letzter Beitrag: 21.08.08, 13:44
  3. Daten werden nicht in DB geschrieben
    Von counteract im Forum PHP
    Antworten: 26
    Letzter Beitrag: 28.10.06, 13:10
  4. Antworten: 13
    Letzter Beitrag: 11.04.05, 10:13
  5. LUA: Text soll in eine Datei eines Servers geschrieben werden
    Von Chrissi007 im Forum Sonstige Sprachen
    Antworten: 1
    Letzter Beitrag: 17.11.04, 20:33