Einträge einer NULL-Getrennten Liste (als String) ausgeben?
-
Ich habe eine Liste als String, in der die einzelnen Einträge durch NULL-Zeichen getrennt sind und mit einem Doppel-NULL Zeichen terminiert sind.
Wie kann ich jetzt z.B. mit printf die einzelnen Beiträge ausgeben bis die Doppel-NULL Zeichen erreicht sind?
-
Dieser Thread wurde von Moderator/in SideWinder aus dem Forum DOS und Win32-Konsole in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ungetestet...
char* str = "Hallo\0Test\0Blub\0\0"; char* p = str; while(*p) { printf("%s\n", p); p += strlen(p) + 1; }
-
Einfach wäre es, wenn du durch den String wanderst und jedes _einzelne_ NULL durch z.B. ein \n ersetzt, solange bis einem ersetzten NULL ein weiteres NULL folgt. Dann würde printf("%s", weirdString); die Substrings gleich schön untereinander auflisten.
Falls du die Strings aber einzeln (und bequem) ansprechen muss, dann würde ich sie in ein Stringarray packen. Sollte aber auch kein Problem sein.PS: Ist das zufällig ein REG_MULTI_SZ?