Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
   
  •  
    Biologie
    Themen der Chemie
    Deutsch online artikel
    Englisch / Englische
    Franzosisch
    Geographie
    Geschichte
    Informatik
    Kunst
    Mathematik / Studium
    Musik
    Philosophie
    Physik
    Recht
    Sport
    Wirtschaft & Technik



    Biographie

    Impressum

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





Datenschutz

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