Forum: PC-Programmierung Zeichenketten sortieren in C


von max .. (vbc2011)


Lesenswert?

Hallo,

ich möchte Daten alphabetisch sortieren.
Die Daten sehen wie folgt aus:

Mt0066
00779264
AP2
H9 DL25
...
wenn es nur Strings oder nur Zahlen sind ist das ja kein thema - ich 
könnte mir auch eine funktion schreiben die die einzlenen Einträge 
aufschlüsselt...
hier meine frage - geht das auch einfacher - gibt es dafür einen 
gängigen ablauf oder sogar eine fertige c-funktion??
(im prinzip soll die funktion das so machen wie wenn man die einträge in 
einem ordner nach namen soritert - also zahl hat vorrang vor buchstabe 
usw.. - wie macht windows das??)

gruss

von Tom (Gast)


Lesenswert?

Sortiere deinen String nach hex-Werten für die Zeichen.
0x30...0x39 für die Zahlen und 0x41...0x5A für A...Z u.s.w.

von max .. (vbc2011)


Lesenswert?

ah ok..d.h.

wenn zeichen ein string dann konvertiere in hex und vergleiche??
...

von Murkser (Gast)


Lesenswert?

Warum nimmst Du nicht "qsort" aus stdlib? Du brauchst nur Deine eigene 
Vergleichsfunktion für zwei Strings zu schreiben und fertig...

Murkser

von D. I. (Gast)


Lesenswert?

Murkser schrieb:
> Warum nimmst Du nicht "qsort" aus stdlib? Du brauchst nur Deine eigene
> Vergleichsfunktion für zwei Strings zu schreiben und fertig...
>
> Murkser

Am einfachsten mit strcmp()

von ... (Gast)


Lesenswert?

D. I. schrieb:
> Am einfachsten mit strcmp()

Und wenn das noch nicht ganz passt, dann eventuell in Verbindung mit 
strxfrm. Oder auch mit strcoll und Verwandten.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.