strlen
Rückgabewert:
strcat
Rückgabewert:
strchr
Rückgabewert:
strcpy
Rückgabewert:
stpcpy
Rückgabewert:
Portabilität:
stpcpy unterscheidet sich von strcpy durch den Rückgabewert (Zeiger auf
das Ende und nicht auf der Anfang der Zeichenkette).
strdup
Rückgabewert:
Portabilität:
strcspn
Rückgabewert:
strcmp
Rückgabewert:
strcoll
Rückgabewert:
stricmp
Rückgabewert:
strstr
Rückgabewert:
strlwr
Rückgabewert:
strupr
Rückgabewert:
#include <string.h>
size_t strlen(const char *s);
Bestimmt die Länge einer Zeichenkette
strlen liefert die Anzahl der Zeichen des Strings s zurück.
Das abschließende Nullzeichen wird dabei nicht mitgezählt.
#include <string.h>
char *strcat(char *dest, const char *src);
Beschreibung
Verkettung (concatenation): Hängt einen String an einen anderen an.
strcat hängt sämtliche Zeichen von src an die
bereits in dest vorhandenen Zeichen an.
Die Länge des resultierenden Strings ist
strlen(dest) + strlen(src).
Zurückgeliefert wird ein Zeiger auf den zusammengefügten String.
#include <string.h>
char *strchr(const char *s, int c);
Sucht einen String nach dem ersten Auftreten eines bestimmten Zeichens
ab.
strchr sucht den über s angegebenen String nach dem
Zeichen c ab, wobei die Suche mit dem ersten Zeichen von s
beginnt.
strchr ermittelt das erste Auftreten des Zeichens im String.
Das abschließende Nullzeichen wird zum Inhalt des String gezählt
und als letztes verglichen, so daß ein Aufruf wie
strchr(str, 0)
einen Zeiger auf das abschließende Nullzeichen von str
liefert.
strchr liefert einen Zeiger auf die erste Fundstelle des Zeichens c im
String s zurück bzw. den Wert NULL, wenn der String dieses Zeichen nicht
enthält.
#include <string.h>
char *strcpy(char *dest, const char *src);
Kopiert einen String in einen anderen.
strcpy kopiert den Inhalt des über src angegebenen
Strings in den durch dest angegebenen Speicherbereich.
Das abschließende Nullzeichen von src wird als letztes Zeichen
kopiert.
strcpy liefert dest zurück.
Beispiel:
char string[10];
char *str1 = "abcdefghi";
strcpy(string, str1);
#include <string.h>
char *stpcpy(char *dest, const char *src);
Kopiert einen String in einen anderen.
stpcpy kopiert den Inhalt des durch src angegebenen nullterminierten
Strings in den durch dest angegebenen Speicherbereich.
Der Vorgang wird abgebrochen, sobald das abschließende Nullzeichen von
src erreicht wird.
stpcpy liefert einen Zeiger zurück, der auf das neue Ende von
dest zeigt, also dest + strlen(src).
nicht in ANSI-C vorgesehen, jedoch in einer Reihe von Systemen
verfügbar
#include <string.h>
char *strdup(const char *s);
Kopiert einen String in einen neuen Speicherbereich.
strdup bestimmt zuerst die Länge des übergebenen String s,
reserviert danach mit malloc einen Speicherbereich entsprechender
Größe (strlen(s) + 1) und kopiert den Inhalt von s in
diesen neu reservierten Speicherbereich.
Der Programmierer muß den Speicher selbst wieder freigeben,
wenn dieser nicht mehr benötigt wird.
strdup liefert einen Zeiger auf den neu reservierten Speicherbereich
zurück, der den duplizierten String enthält.
Falls nicht genug Platz im Speicher ist (d.h. malloc einen Fehler liefert),
dann ist das Funktionsergebnis von strdup NULL.
nicht in ANSI-C vorgesehen, jedoch in einer Reihe von Systemen
verfügbar
#include <string.h>
size_t strcspn(const char *s1, const char *s2);
Liefert die Länge des Teilstrings zurück, der keines der Zeichen
einer bestimmten Zeichenmenge enthält.
strcspn liest den String s1 zeichenweise bis eines der in s2
enthaltenen Zeichen auftritt.
Die Anzahl der in s1 gelesenen Zeichen bildet den Rückgabewert.
Das abschließende Nullzeichen wird nicht mitgezählt.
Beide Strings werden durch den Suchvorgang nicht verändert.
strcspn liefert die Länge des Teilstrings von s1 zurück, der nur aus
Zeichen besteht, die in s2 nicht vorkommen.
#include <string.h>
int strcmp(const char *s1, const char *s2);
Vergleicht zwei Strings miteinander.
Beginnend mit dem ersten Zeichen werden die beiden Strings
zeichenweise verglichen, bis zwei korrespondierende Zeichen ungleich sind
oder das Ende der Strings erreicht wird.
strcmp liefert einen Wert
< 0 wenn s1 kleiner als s2 ist
== 0 wenn s1 gleich s2 ist
> 0 wenn s1 größer als s2 ist
#include <string.h>
int strcoll(char *s1, char *s2);
Vergleicht zwei Strings.
strcoll vergleicht den String, auf den s1 zeigt, mit dem
String, auf den s2 zeigt.
Dabei wird die in der Kategorie LC_COLLATE der aktuellen
Locale-Einstellung gesetzte Vergleichsreihenfolge
verwendet.
strcoll liefert einen Wert
< 0 wenn s1 kleiner als s2 ist
== 0 wenn s1 gleich s2 ist
> 0 wenn s1 größer als s2 ist
Beispiel:
#include <stdio.h>
#include <string.h>
int main(void)
{
char *one = "Samstag";
char *two = "Sonntag";
int check;
check = strcoll(one, two);
if (check == 0)
printf("Die Zeichenketten sind gleich\n");
if (check < 0)
printf("%s kommt vor %s\n", one, two);
if (check > 0)
printf("%s kommt vor %s\n", two, one);
return 0;
}
#include <string.h>
int stricmp(const char *s1, const char *s2);
Vergleicht zwei Strings ohne Unterscheidung zwischen Groß- und
Kleinschreibung.
Beginnend mit dem ersten Zeichen wird solange zeichenweise
verglichen, bis die korrespondierenden Zeichen ungleich sind oder das
Ende der Strings erreicht wird.
Beim Vergleich werden Groß- und Kleinbuchstaben nicht unterschieden.
stricmp liefert einen Wert
< 0 wenn s1 kleiner als s2 ist
== 0 wenn s1 gleich s2 ist
> 0 wenn s1 größer als s2 ist
#include <string.h>
char *strstr(const char *s1, const char *s2);
Sucht einen String nach dem Vorkommen eines bestimmten Teilstrings ab.
strstr sucht den über s1 angegebenen String nach dem ersten
Vorkommen des Teilstrings s2 ab.
strstr liefert einen Zeiger auf den Beginn von s2 in s1 zurück bzw. den
Zeigerwert NULL, wenn s2 in s1 nicht vorkommt.
#include <string.h>
char *strlwr(char *s);
Konvertiert alle Großbuchstaben in einem String in Kleinbuchstaben.
strlwr konvertiert sämtliche Großbuchstaben des durch s
übergebenen Strings in Kleinbuchstaben.
Dabei wird die Kategorie LC_CTYPE der aktuellen
Locale-Einstellung berücksichtigt.
In der Locale-Einstellung "C" (i.a. Standard) werden die Großbuchstaben
A bis Z in die Kleinbuchstaben a bis z konvertiert. Andere Zeichen
(insbesondere Umlaute) werden nicht berücksichtigt.
strlwr liefert einen Zeiger auf den String s zurück.
#include <string.h>
char *strupr(char *s);
Konvertiert alle Kleinbuchstaben eines String in Großbuchstaben.
strupr konvertiert die Kleinbuchstaben des durch s angegebenen Strings
in Großbuchstaben.
Dabei wird die Kategorie LC_TYPE der aktuellen
Localei-Einstellung berücksichtigt.
In der standardmäßigen Locale-Einstellung "C" werden die Buchstaben
a bis z in die Buchstaben A bis Z konvertiert und alle anderen Zeichen
(insbesondere die deutschen Umlaute) bleiben unverändert.
strupr liefert s zurück.
Zurück zum Menü
Zurück zur vorigen Seite
Weiter zur nächsten Seite
P. Böhme, 15.02.1996