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


informatik artikel (Interpretation und charakterisierung)

Strings


1. Java
2. Viren

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 Elemente und Funktion des Prozessors
indicator Challenge Response
indicator SRAM
indicator Informationsübertragung im Internet
indicator TCP/IP---
indicator Instrumentelles Lernen nach SKINNER
indicator Java-Applets in WWW-Seiten
indicator Dateiarchitektur und sinnvolle Partitionierung:
indicator Compiler
indicator Verzweigungen (Selektion)


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik 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