Hallo,
so schaut ein Programmierbeispiel zu strtok() aus einem C-Forum
(http://www.cppreference.com/wiki/string/c/strtok) aus:
1 | har str[] = "now # is the time for all # good men to come to the # aid of their country";
|
2 | char delims[] = "#";
|
3 | char *result = NULL;
|
4 | result = strtok( str, delims );
|
5 | while( result != NULL ) {
|
6 | printf( "result is \"%s\"\n", result );
|
7 | result = strtok( NULL, delims );
|
8 | }
|
Also dass ich nen String hab und denn nach Trennzeichen durhsuchen
möchte hab ich kapiert. Aber was bedeutet die Zuweisung:
Der Wert des Pointers result wird auf 0 gesetzt?
Anschließend wird dann das Ergebnis der Funktion strtok() an die Adresse
des Pointer geschrieben.
1 | result = strtok( str, delims );
|
D.h. der Pointer zeigt nun auf das erste Trennzeichen in meinem
String???
Okay soweit so gut! Nun wird so lange der Inhalt einer while-Schleife
ausgeführt, solange die Adresse des Zeigers nicht wieder zu Null wird?
1 | while( result != NULL ) {
|
2 | printf( "result is \"%s\"\n", result );
|
3 | result = strtok( NULL, delims );
|
4 | }
|
Okay von mir aus das versteh ich noch, wenn es denn so ist. Aber was
macht die letzte Zeile in dieser while-Schleife???
Was hat es mit dem
auf sich?
Grüße Sven