Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » segmentation fault bei aufruf

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.05.2003, 16:57 Uhr
nAvi



Hallo!
Ich hab beim starten meines Programmes diesen Fehler bekommen:

Segmentation fault

Kann mir jemand erklären woher das kommt und was das bedeutet?
Das komische ist, dass ich den Ursprung des Fehlers nicht feststellen kann.
So wie ich das sehe, muss er bei meinem printf() gekommen sein. Ich hab
dann folgendes probiert:

C++:
printf("\nOK1\n");
printf("\n%s\n",tempback);
printf("\nOK2\n");


Das "OK1" wird angezeigt, mein string wird ausgegeben und in eine neue Zeile gewechselt,
das "OK2" wird aber nichtmehr angezeigt.
Nehme ich aber jetzt das zweite "\n" beim string raus, wird der string gar nicht mehr angezeigt.
Irgendwie raff ich des net.
Kann vielleicht (wie des öfteren) mir jemand sagen was ich falsch gemacht haben könnte?
--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.05.2003, 17:04 Uhr
~0xdeadbeef
Gast


Wo kommt den tempback her?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.05.2003, 19:36 Uhr
nAvi



Also tempback ist ein string mit

C++:
char tempback[999]="";



deklariert.
In den hab ich dann die Namen von Dateien geschrieben, die mir scandir() liefert.
Etwa so:


C++:

char auf[2]="<";
char zu[2]=">";
char tempback[999]="";

strcat(tempback,auf);
strcat(tempback,namelist[n]->d_name);
strcat(tempback,zu);




Da dürft eigentlich nix falsch sein.
Was bedeutet Segmentation fault nun eigentlich?
--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
14.05.2003, 19:54 Uhr
nAvi



Ich muss noch dazusagen dass da Porgramm an sich noch größer ist
(passt leider net ins Fenster)
Ich kann mir aber nicht vorstellen dass der Fehler an einer anderen Stelle liegt da ja dort abgebrochen wird.
--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.05.2003, 17:12 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


vielleicht schreibst du ja mehr zeichen in den string als da eigentlich reinpassen?
Versuch mal den string grösser zu machen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.05.2003, 17:50 Uhr
nAvi



hmm, der iss schon 999 groß,
und ausgegeben werden definitiv nur ca. 30 zeichen.
Ich müsst halt wissen was der Fehler bedeutet um nach einer Ursache zu suchen

--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
15.05.2003, 19:37 Uhr
virtual
Sexiest Bit alive
(Operator)


Der Fehler bedeutet soviel, wie daß Du auf Speicher zugreifst, der dir nicht gehört.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
15.05.2003, 21:35 Uhr
~0xdeadbeef
Gast


Meine Vermutung wäre, dass du vergißt, tempback am Ende mit einem Null-Zeichen zu terminieren. Zumindest würde das erklären, warum beim Schreiben kein Segfault auftritt, aber nachher beim auslesen schon.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
16.05.2003, 17:50 Uhr
nAvi



Ich glaub ich hab in den String ein '\' geschrieben, und kein '\\' anscheinend is des ja falsch. Egal ich hab das Prog nochmal komplett neu geschrieben und nun tuts (bisher):

--
Lebe als wolltest du täglich sterben
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: