C-Programmierung
Funktionen zur Manipulation von Zeichenketten
← Zeichenkettenlänge | ● | Arrays und Zeiger →
Weitere in string.h
enthaltene Funktionen zur Manipulation von Zeichenketten:
- strcat: Konkatenation zweier Strings
char *str = strcat(str1, str2);
- strchr: Zeichensuche (erstes Auftauchen eines Zeichens)
char *c = strchr(str, 'a');
- strrchr: Zeichensuche rückwärts (letztes Auftauchen eines Zeichens)
- strstr: Suche nach Substring (erstes Auftauchen)
char *c = strstr(str, sub);
- strcmp: Vergleich zweier Strings (0: gleich, 1 größer, −1 kleiner)
- Vergleich im Sinne von ‘a’<’z’ bzw. “abc”<”acb”
int c = strcmp(str1, str2);
- strcasecmp: Vergleich ohne Unterscheidung der Gross/Klein-Schreibung
strcasecmp("work", "Work") == 0
- strcpy: Kopieren eines Strings (ähnlich
memcpy()
)strcpy(dest, source);
- strtol, strtof, strtod: Umwandeln eines Strings in long, float, double
double strtod(const char *str, char **end_ptr);
- sscanf, sprintf: wie scanf bzw. printf, aber Ausgabe in einen String
sprintf(str, "%d", 42);
- …
Ausführliche Informationen zu den entsprechenden Funktionen gibt es via man, z.B. man strlen
.
Q Was bewirkt str1==str2
im Unterschied zu strcmp(str1, str2)
?
Adressenvergleich
Q Was ist der Unterschied zwischen memcpy und strcpy, zwischen strcpy und strdup?
Länge, Allozierung
Q Wie wandelt man am schnellsten einen String zwischen Gross- und Kleinschreibung?
const char str[]="Gross", *ptr=strdup(str);
while (*ptr++ = tolower(*ptr));
while (*ptr++ = tolower(*ptr));
← Zeichenkettenlänge | ● | Arrays und Zeiger →