REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



Strings

Strings




Strings (auf Deutsch: 'Zeichenketten') sind eigentlich eindimensionale char-Arrays (also Felder, bei denen jeder Teil einen Character-Wert enthält) abgeschlossen mit einem '0'-Byte.

Das '0'-Byte ist dazu da, um das Array eindeutig als String zu charakterisieren und es somit möglich macht, die zahlreichen String-Funktionen (wie z.B. 'puts', 'strcpy', ) zu nutzen.
Die String-Einlesefunktionen wie z.B. 'gets' fügen automatisch das '0'-Byte hinzu

Das Umwandlungszeichen für die 'printf'- bzw. 'scanf'- Funktionen (sowie deren Abwandlungen) ist das '%s' ('s' für String).





Beispiele:

Ein Beispiel für ein normales char-Array:

char a[3]=; kein '0' KEINE Stringfunktionen nutzbar


Ein Beispiel für einen String:

char a[4]=; '0' sorgt dafür, dass Array als String anerkannt wird!

Andere (gleichwertige) Schreibweise:

char a[4]='ABC'; ACHTUNG! Man braucht ein Array mit 4 Stellen (durch Anführungszeichen (''), wird Array automatisch zu String
'0' muss ins Array passen Eine Stelle dazu!


Ist in einem String das '0' an mehreren Stellen vorhanden (oder nicht am Ende), so wird bei einer Stringfunktion (wie z.B. 'puts' oder 'strcmp') jede Information hinter dem ersten  '0' ignoriert!

Zum Beispiel:

char a[4]=;            Ausgabe mit 'puts(a);': ABC

'0' öfters vorhanden

char a[4]=;            Ausgabe mit 'puts(a);': ABC

'0' NICHT am Ende: Alles dahinter wird ignoriert!



Stringfunktionen:


Um mit Strings effizient arbeiten zu können, gibt es in C/C++ zahlreiche Stringfunktionen.
Hier die Wichtigsten:



gets (stringname);

Liest einen String ein (so viele Chars, bis 'Enter' gedrückt wird).

puts (stringname);

Gibt einen String aus.



strcmp (s1,s2);

Vergleicht 2 Strings. Wenn die Strings nicht identisch sind (Rückgabewert: 0), wird die Differenz der ASCII-Werte der ersten 2 unterschiedlichen Buchstaben zurückgeliefert.

strlen (s1);

Liefert die Anzahl der vorhandenen Werte in einem Array bis zum ersten '0'. Das '0'-Byte wird nicht mitgezählt!

strcpy (s1,s2);

s2 kopiert den Inhalt nach s1 (s1 wird überschrieben). Um komplett zu kopieren, sollte s1 mindestens so viele Felder haben, wie der String von s2 benötigt. Ausserdem muss s2 ein String sein.

strcat (s1,s2);

Der String von s2 wird an s1 'angehängt'.

s1 muss genügend freie Felder haben

'0' von s1 wird vom ersten Char von s2 überschrieben.




Beispielprogramm:


Anm.: Alle reinen Stringfunktionen sind 'fett' geschrieben!


Anhand dieses Beispiels kann man die meisten String-Funktionen in Aktion sehen. Es ergibt keinen wirklichen Sinn, verdeutlicht aber die Möglichkeiten von Strings und den dazugehörigen Funktionen.


#include <stdio.h>

#include <conio.h>

#include <string.h>


void main (void)







Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen