Segementation Fault?!?
-
Hi,
Die Funktion verursacht einen Segmentation Fault, ich hab mir schon ein paar Stunden den Kopf zerbrochen aber komm nicht drauf warum.
Das faszinierende ist der Seg. Fault tritt nur auf wenn ich "string2[9]" nicht deklariere, deklariere ich eben diesen läuft die Funktion durch, allerdings schreibt er bei den ersten 40-50 Gruppen einen Nullpointer in group.Was auch noch komisch ist, ist das ich dieselbe Methode nur für ein Array von Namen schon habe, die läuft ohne Probleme. ( Ich hab lediglich die for schleife un das "aus dem 2-dim array in den string kopieren" entfernt, bei Bedarf kann ich die andere Funktion auch mal posten).
Nunja irgendwie komm ich net weiter,wäre für Hilfe sehr dankbar.
Gruß HiFishvoid new_gg(char name[9],char group[9]) { FILE *fp; char zeile[200],string[9],string2[9];// <--- int abort=0,i=0,j=0; fp=fopen("passwd.backup","r"); while(!feof(fp)&&!abort) { fgets(zeile,200,fp); test("sfsaf"); sscanf(zeile,"%[^:]%s",string); //Hier passiert der Seg Fault test("u"); if(strstr(string,name)) { sscanf(zeile,"%*[^:]:x:%*d:%d",&abort); switch(abort) { case 750: strcpy(group,"IWR"); break; ... default: strcpy(group,"none"); exit; } } } fclose(fp); }
-
Dein sscanf liest 2 strings du übergibst aber nur einen als parameter
so sollte es gehen wenn du wirklich alle zeichen bis zun ':' überspringen willstsscanf(zeile,"%*[^:]%s",string);
Kurt