Null-terminiert

Aus DGL Wiki
Version vom 8. November 2005, 23:57 Uhr von Flo (Diskussion | Beiträge) (Für C++ Programmiere{r})

Wechseln zu: Navigation, Suche

Strings in der Programmiersprache C sind Felder (Arrays) die Zeichen (Char) enthalten. Das Ende der Zeichenkette ist markiert mit dem Endezeichen "\0".

Wieso benutzt OpenGL Null-terminierte Strings?

OpenGL ist eine API welche selbst in C geschrieben wurde. Da C keine anderen Strings kennt als das Charakter-Array wurde auch in OpenGL auf dieses Konzept zurück gegriffen.

Meist wird nicht das Feld selbst übergeben sondern eine Zeiger (Pointer) auf das Feld. (Pointer auf Null-terminierte Strings heißen deshalb in Pascal/Delphi auch PChar). Damit ist man dann theoretisch in der Lage den String zu benutzen. Üblich ist meist noch, die Länge des Strings mit anzugeben (In OpenGL wird darauf meist verzichtet.).

Für C++ Programmierer

Die STL-Klasse "String" erlaubt auch den gespeicherten String als "C-String" also als Null-terminierten String zu verwenden. Der entsprechende Funktionsaufruf ist String.c_str().