Zitat Zitat von wacked Beitrag anzeigen
Es wäre einfacher das direkt als Array darzustellen.
Und die Speicherdarstelleung ist auch falsch. (Name1\x00 POINTER Name2\x00 ...)
Es ist doch direkt als Array implementiert.
Nur jetzt sag mir noch wie du die dann den Gruppen hinzufügen würdest? TADA: du musst die Namen irgendwie referenzieren.

Was das (Name1\x00 POINTER Name2\x00 ...) angeht, kann ich nur sagen: falsch von dir, richtig von mir.
Das Layout ist
Name1\x00Name2\x00Name3\x00...
(^------- keine Pointer... das sind wirklich char's!)
in namesbuf. Referenziert werden jeweils die Anfänge der Namen in den LinkedLists für die Gruppen.

Bitte beim nächsten Mal genauer lesen.

Zitat Zitat von wacked Beitrag anzeigen
iTotalStrlen += strlen(&szAllNames[iTotalStrlen]);
Das ist falsch. Dann hättest du anschließend folgendes Layout im Speicher:
Name1Name2Name3...
Die Namen wären also nicht null-terminiert und somit hättest du Probleme, sobald du versuchst die anzuzeigen, sobald alle Namen eingelesen sind.
Was du hier also machst ist eine Art strcat.