Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


mathematik artikel (Interpretation und charakterisierung)

Funktionen

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]={\'A\',\'B\',\'C\'};  kein \'\\0\'  KEINE Stringfunktionen nutzbar

Ein Beispiel für einen String:
char a[4]={ \'A\',\'B\',\'C\',\'\\0\'};  \'\\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]={ \'A\',\'B\',\'C\',\'\\0\',\'A\',\'B\',\'C\',\'\\0\'}; Ausgabe mit \"puts(a);\": ABC
 \'\\0\' öfters vorhanden
char a[4]={ \'A\',\'B\',\'C\',\'\\0\',\'A\',\'B\',\'C\'}; 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

#include

#include

void main (void)

{
char vname[30], nname[15], eingabe[15]; // verwendete Var.

clrscr();
printf(\"Geben Sie Ihren Vornamen ein: \");
gets (eingabe); // Einlesen d. Vornamen

strcpy (vname, eingabe); // Beispiel v. \"strcpy\"

strcat (vname, \" \"); // Für Leerzeichen
// zwischen den Namen

printf(\"Ihr Nachname: \"); // Einlesen d. Nachnamen
gets (nname);

strcat (vname, nname); // Zusammensetzen d. Namen

printf(\"Ihr Name ist: \"); // Ausgabe d. gesamten N.

puts (vname);

printf(\"Er ist %d Zeichen lang.\",strlen(vname)-1);

// Ausgabe der Länge d. N.

// (\"-1\" wegen dem Leer-

// zeichen zw. d. Namen getch(); }

 
 

Datenschutz
Top Themen / Analyse
indicator Übungen zur Zeitberechnung:
indicator Die ,,Einsteins in Italien
indicator Die allgemeine Relativitätstheorie (1915)
indicator Das Anwendungsproblem
indicator Der Erste Weltkrieg
indicator Kreise und Winkel
indicator Todesfallversicherung
indicator Satz des pytagoras
indicator Einführung und Grundbegriffe
indicator Attraktoren


Datenschutz
Zum selben thema
icon Funktionen
icon Einstein
icon Pythagoras
icon System
icon Algorithmus
icon Formel
icon Geometrie
A-Z mathematik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution