Null-terminiert: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) |
Flo (Diskussion | Beiträge) K (→Für C++ Programmiere{r}) |
||
Zeile 6: | Zeile 6: | ||
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.). | 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++ | + | ===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 {{INLINE_CODE|String.c_str()}}. | Die STL-Klasse "String" erlaubt auch den gespeicherten String als "C-String" also als Null-terminierten String zu verwenden. Der entsprechende Funktionsaufruf ist {{INLINE_CODE|String.c_str()}}. |
Version vom 8. November 2005, 22:57 Uhr
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().