Wieso wird die Variable nicht verwendet!
-
Hallo
Ich hab ein Progrmm geschrieben was mit Listen So lange IDs und
Pws einliest und spaeter Dateien erstellt und da die Ids und Pws
reinschreibt. Jetzt wird die Variable node aber nicht verwendet !
Ich arbeite auf Linux und habe neu mit den ListenNodes angefangen.
Hier der Code :#ifndef REGI_H_INCLUDED #define REGI_H_INCLUDED #include <iostream> #include <fstream> #include <string> #include <sys/stat.h> #include <sys/types.h> #include <termios.h> using namespace std; struct TListenKnoten { string data; string data2; // simuliert die Daten TListenKnoten *next; // Verknüpfung zum Nachfolger }; TListenKnoten *Anker = 0; // Anfang der Liste int getch() { static int ch = -1, fd = 0; struct termios neu, alt; fd = fileno(stdin); tcgetattr(fd, &alt); neu = alt; neu.c_lflag &= ~(ICANON|ECHO); tcsetattr(fd, TCSANOW, &neu); ch = getchar(); tcsetattr(fd, TCSANOW, &alt); return ch; } void makelibary(string name1) { name1 = "Acc/" + name1; mkdir(name1.c_str(), 0777); } string makeDats (string name2) { name2 = "Acc/"+name2+"/"+name2; return name2; } #endif // REGI_H_INCLUDED//main.cpp #include "regi.h" int main() { int option; string Inhalt; string inhalt2; TListenKnoten *node, *old; do { cout<<"1) Register " "2) Exit"; cin>>option; if(option==2) break; cout<<"ID : "; cin>>Inhalt; cout<<"PW : "; cin>>inhalt2; makelibary(Inhalt); TListenKnoten *node = new TListenKnoten; node->data = Inhalt; node->data2 = inhalt2; // Besetze die Daten node->next = Anker; // Hänge die bisherige Liste an Anker = node; }while(option==1); while (Anker) // ungleich 0! Die Liste ist nicht leer! { old = Anker; // Sichere zum späteren Löschen Anker = Anker->next; ofstream fout(makeDats(Anker->data).c_str()); fout<<Anker->data<<Anker->data2<<endl; // Ziehe nächstes Element nach vorn delete old; // Lösche das ausgelesene Element } return 0; }Ich bin sehr dankbar wenn ihr mir auch Verbesserungsvorschlaege gibt .
Grüsse
-
Weil du node (das in main.cpp, Zeile
im weiteren Verlauf nicht mehr verwendest. In der Schleife legst du dann ein weiteres "node" an, welches das aus dem Scope darüber verdeckt - in der Schleife wird das "node" aus Z.22 verwendet.
-
Stimmt das ging schnell Danke ! Jetzt ist es aber so :
wenn ich z.B 3 mal id pw eingib und dannah 2 drück also exit kommt
Segmantation fault!Die ersten zwei machen das was ich will der dritte nicht mehr.
-
In main.cpp:35 dereferenzierst Du Anker, nachdem Du vorher Anker=Anker->next machst. Irgendwann ist Anker->next aber NULL... *bumm*
-
Danke ! Hat geklappt habt ihr noch Verbesserungsvorschlaege ?
-
-
plenken? Hör ich zum ersten mal hört sich aber cool an ^^
-
Sieht aber scheiße aus und zerstört insbesondere im Web leicht und effektiv das Schriftbild.
-
Hmm ein falsch gesetzter Leerzeichen wenn das
mal nicht wichtig ist.
