/***** Programm strings.c ****** * * * Demo C-Stil Zeichenketten. * * * *********************************/ #include #include #include int main() { int i, Fehler; float zahl; /* C - Stil Zeichenketten */ char CString1[30] = "Maus", CString2[30], CString3[50] = ""; /* Zuweisung */ strcpy(CString2, "Elefant"); /* Vergleich */ if (strcmp(CString1, CString2) > 0) printf("%s ist groesser als %s.\n", CString1, CString2); else printf("%s ist nicht groesser als %s.\n", CString1, CString2); /* Laenge Zeichenkette */ printf("%s hat %i Zeichen.\n", CString2, strlen(CString2)); /* Zugriff Einzelzeichen */ CString1[0] = 'H'; /* Null Terminated Strings */ for (i=0; CString1[i]!=0; i++) printf("%c", CString1[i]); printf("%i\n", CString1[i]); /* Verkettung */ strcat(CString3, "Im "); strcat(CString3, CString1); strcat(CString3, " ist ein "); strcat(CString3, CString2); printf("%s\n", CString3); /* Teilstring kopieren */ strncpy(CString1, &CString3[4], 7); /* Klein- zu Grossbuchstabe (tolower() umgekehrt) */ CString1[0] = toupper(CString1[0]); printf("%s die Maus!\n", CString1); /* Ist in CString1 eine Zahl? */ strcpy(CString1, "1.234"); Fehler = 0; for (i=0; CString1[i]!=0; i++) if ( !(isdigit(CString1[i]) || CString1[i]=='.') ) Fehler = 1; if (Fehler) printf("Keine korrekte Zahl in CString1\n"); else printf("Eine korrekte Zahl in CString1\n"); /* String in Zahl wandeln */ sscanf(CString1, "%f", &zahl); printf("Wert in float Variable: %f\n", zahl); /* Zahl in String wandeln */ sprintf(CString1, "Zahl zu String: %.2f\n", zahl); printf("%s", CString1); return 0; }