Tom Seidel: Einige C-Fragen

Beitrag lesen

Beim Durchschauen einiger Beispiele bin ich wiederum auf folgendes gestoßen:

Gegeben ist folgendes:

char *ptr;
char str[] = "ARR.AY";
printf("Alt: %s", str);
ptr = strrchr(str, '.');
*ptr = '\0';
printf("Neu: %s", str);

Man sucht also nach einem bestimmten Zeichen ('.') und ersetzt dieses durch ein 0-Byte, um den String zu terminieren, obwohl ja noch die anderen Zeichen existieren.
Was steckt hier dahinter - warum macht man sowas?