Zeichenketten. Peter Sobe

Ähnliche Dokumente
Zeichenketten (Strings)

Zeichen und Zeichenketten (engl. Strings)

Arrays (Felder/Vektoren)

Algorithmen und Datenstrukturen

Strings (Zeichenketten)

Zeichenketten (1) Literale von Zeichenketten werden in doppelte Anführungszeichen gesetzt

6. Bearbeitung von Strings in C Bearbeitung von Strings in C

Programmiersprachen Einführung in C

GI Vektoren

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten

Rechenzentrum. Programmieren in C. Simone Knief Rechenzentrum der CAU

Informatik. Wiederholung Felder (Arrays), string. Vorlesung

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

2. Programmierung in C

Java Einführung Objekt-Datentypen und Strings. Kapitel 8 und 9

Programmieren in C/C++ und MATLAB

4 ZEICHEN UND ZEICHENKETTEN

Zeichenketten (Strings) in C

Elementare Datentypen in C++

einlesen n > 0? Ausgabe Negative Zahl

Programmiersprachen Einführung in C

Zeichenketten. Beispiel: Gegeben sind text1 = Hallo und text2= Welt. Dann wird in der Variablen text3 die Zeichenkette HalloWelt abgespeichert.

+ C - Formatierte Eingabe mit scanf()

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Arrays, Zeiger und Funktionen (call by reference)

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Der Datentyp String. Stringvariable und -vergleiche

Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen

Einstieg in die Informatik mit Java

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

F Zeiger, Felder und Strukturen in C

Programmieren in C++

2. Programmierung in C

Einstieg in die Informatik mit Java

Klassen als Datenstrukturen

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

INE1 Arrays, Zeiger, Datenstrukturen

9. Vektoren. (auch Felder/array)

Überblick. R.Grossmann / P. Sobe 1

Einstieg in die Informatik mit Java

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18

5.1 Mehr Basistypen. (Wie viele Werte kann man mit n Bit darstellen?)

Übungspaket 24 Zeichenketten

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16

Übersicht. Informatik 1 Teil 9: komplexe Datentypen (Strukturen, Enumerationen, Unions)

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

Programmieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff

Anwendung höherer Programmiersprachen. Formatierte Ausgabe mit cout. Angewandte Informatik I C / C++ Teil B: Formatierte Ein- und Ausgabe

Grundlagen der Programmierung

Eine Mini-Shell als Literate Program

2. Programmierung in C

Einstieg in die Informatik mit Java

Funktionen: Rückgabewert

C/C++-Programmierung

Programmierkurs C++ Variablen und Datentypen

Variablen, Konstanten und Datentypen

Ein- und Ausgabe von Daten

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

Transkript:

Zeichenketten existieren in C nicht als eigener Typ. Es können nur Zeichenkettenkonstante z.b. zur Ausgabe benutzt werden. Beispiel: printf( Guten Tag!\n ); Eine Zeichenkette als Variable kann aber in C über ein Feld von Zeichen deklariert werden. Beispiel: char nachricht[80]; Zeichenketten

Zeichenketten Für Zeichenketten stehen eine Reihe von Funktionen, wie z.b. strcpy (string copy) zur Verfügung. Diese sind in string.h deklariert. strcpy(nachricht, Auf Wiedersehen! ); // nachricht = Auf Wiedersehen! ; funktioniert nicht Werden diese Funktionen auf char-felder angewandt, muss das letzte Zeichen immer ein Nullzeichen \0 sein! Bei Zeichenkettenkonstanten erzeugt der Übersetzer immer automatisch ein Nullzeichen \0 am Ende.

Zeichenkettenkonstante Zeichenketten Konstanten werden stets in Doppel-Apostroph eingeschlossen: Das ist eine nette Zeichenkette! char zk[40] = Das ist eine nette Zeichenkette! ; // ergibt: zk={'d', 'a', 's', ' ', 'i', 's', 't',, 'k', 'e', 't', 't', 'e', '!','\0'} Eine solche Zuweisung ist nur in Zusammenhang mit der Deklaration möglich! Sonst muss die Zuweisung über die Funktion strcpy (string copy) erfolgen.

Zeichenketten Initialisierung bei der Deklaration char zk[20] = Das ist eine Kette! ; oder z.b.: char w[5]={ a, b, c, d, \0 }; Ausgabe von Zeichenketten erfolgt über die printf()-funktion printf( Ausgabe: %s, zk); %s (string) ist das Format für Zeichenkette. Die übergebene Zeichenkette (hier zk) muss durch \0 abgeschlossen sein!

Zeichenketten Eingabe von Zeichenketten erfolgt über scanf: scanf( %10s, zk); s (string) ist das Format-Umwandlungszeichen für eine Zeichenkette; 10 ist die maximale Länge der zu übernehmenden Zeichen Eingabe wird durch ENTER abgeschlossen! Achtung: Ein eingegebenes Leerzeichen schliesst bei %s die zu übernehmenden Zeichen ab! Eingabe aller Zeichen (inkl. Leerzeichen): scanf( %[^\n], zk); // liest bis zum Zeilenumbruch ein

Standardfunktionen für Zeichenketten Voraussetzung: #include <string.h> Kopieren / Zuweisen strcpy() strcpy(ziel, quelle); Kopiert die Zeichenkette des char-feldes quelle auf das char-feld ziel und erzeugt ein Endezeichen \0. Der Rückkehrwert von strcpy ist vom Typ char *, d.h. ein Zeiger auf die Zeichenkette ziel. Verketten von Zeichenketten strcat() strcat(ziel, quelle); // ziel=ziel quelle Kettet die Zeichenkette des char-feldes quelle an das char-feld ziel. Der Rückkehrwert von strcat ist vom Typ char *, d.h. ein Zeiger auf die Zeichenkette ziel. Damit lässt sich auch ein Funktionsaufruf wie folgt benutzen: strcpy(text1, strcat( Das ist, eine Verkettung ));

Standardfunktionen für Zeichenketten Vergleichen von Zeichenketten strcmp() strcmp(text1, text2); Vergleicht die Zeichenkette des char-feldes text1 mit der Zeichenkette des char-feldes text2 lexikographisch. Der Rückkehrwert von strcmp ist vom Typ int. Ergebnis : < 0 : text1 kleiner als text2 ==0 : text1 identisch zu text2 > 0 : text1 grösser als text2 Prinzip: Verglichen wird anhand des Zahlencodes der Zeichen (z.b. ASCII).

Standardfunktionen für Zeichenketten Länge einer Zeichenkette strlen() int Laenge; Laenge=strlen(kette); Der Rückkehrwert ist die Länge der Zeichenkette, d.h. die Anzahl der Zeichen ohne das Abschlusszeichen \0. In der Standardbibliothek string.h gibt es noch zahlreiche weitere Funktionen zur Handhabung von Zeichenketten.