000
03.07.2006, 13:55 Uhr
Yadgar
|
High!
Ich versuche, ausgehend vom Aufruf von qsort für ein int-Feld, einen solchen Aufruf für ein Feld von char-Strings (also char**) zu schreiben... Fehlermeldungen beim Kompilieren bekomme ich keine, aber zur Laufzeit hängt sich das Programm auf. Die Testausgabe "Hallo!" wird zweimal ausgegeben...
Hier der Code:
C++: |
// Quicksort mit variablem Funktionsaufruf // (BREYMANN, C++, Eine Einführung, München 1998, S. 226, Übungsaufgabe 6.7)
#include <iostream> using namespace std;
int scmp(const void* a, const void* b) { cout << "Hallo!" << endl; char* ia = *(char**)a; char* ib = *(char**)b;
return strcmp(ia, ib); }
int main() { char* sfeld[]={"eins", "zwei", "drei", "vier", "fünf", "sechs", "sieben", "acht", "neun", "zehn"};
int Groesse=sizeof(sfeld); cout << Groesse << endl; qsort(sfeld, Groesse, sizeof(char*), scmp); for (short i=0; i<10; i++) { for (short j=0; sfeld[i][j]; j++) cout << sfeld[i][j]; cout << endl; } system("pause"); }
|
Oder bin ich doch einfach nur zu dumm für C++?
Bis bald im Khyberspace!
Yadgar -- Flagmaker - ein Programmier-Blog |