Einzelnen Beitrag anzeigen
Alt 07.06.2002, 12:37   #7
helmix
Jr. Member
 
Registriert seit: 27.08.2001
Ort: Wien
Alter: 59
Beiträge: 84


Standard

Der gcc compiler ist ganz schön schlau, er hat nämlich recht!
Der Visual C Compiler compiliert das dagegen ohne Murren (nur funkt. das Programm dann nicht)

Der Fehler ist folgender:
Ich nehme an, dein aArray ist ein Array von Strings, d.h. ein Pointer
auf Pointer von chars!
qsort 'füttert' die compare funktion mit pointern auf jeweils 2 Array-Einträge,
in unserem Fall also char** und nicht char*, wie es der strcmp gern hätte!!
Die Folge ist, dass so die Pointer im Array sortiert werden und nicht die Strings, sofern der strcmp da überhaupt mitspielt

Abhilfe:
Du musst doch eine eigene compare funktion schreiben, die so aussieht:

int compare(const void *arg1, const void *arg2)
{
return strcmp(*((char**)arg1), *((char**)arg2));
}

Damit sollte es dann funktionieren!

lg.
helmix
helmix ist offline   Mit Zitat antworten