/* * Strängar & strängfunktioner */ #include #include #include void exempel1(void) { char strng[10]; /* OBS! index = 0..9 */ int i; printf("----------- exempel 1 -----------\n\n"); printf("Mata in en sträng : "); scanf("%s", strng); /* Se scanf s.500 */ printf("-->%s<--\n", strng); printf("---- konverteringstecknet %s ----\n\n"); }/* exempel1 */ void exempel2(void) { char str1[] = "Första strängen"; char str2[] = "Andra!"; int i; printf("----------- exempel 2 -----------\n\n"); printf("-->%s<--\n",strcat(str1,str2)); printf("--------- konkatenering ---------\n\n"); }/* exempel2 */ void exempel3(void) { char str1[] = "Första strängen"; char str2[] = "Andra!"; printf("----------- exempel 3 -----------\n\n"); printf("-->%s<--\n",strcpy(str1,str2)); printf("-------- strängkopiering --------\n\n"); }/* exempel3 */ void exempel4(void) { char str1[] = ""; /* Tomma strängen */ char str2[] = " "; /* ett blanktecken bara */ int lgd; printf("----------- exempel 4 -----------\n\n"); lgd = strlen(str1); printf("Tomma strängens längd = %i\n",lgd); printf("Sträng med bara ett blanktecken har längden = %i\n",strlen(str2)); printf("-------- stränglängd --------\n\n"); }/* exempel4 */ void exempel5(void) { char str1[] = "sven svensson"; /* Liten i början */ char str2[] = "Sven Svensson"; /* Stor i början */ printf("----------- exempel 5 -----------\n\n"); if (strcmp(str1,str2)) printf("Lika, ty %s = %s\n",str1,str2); else if (strcmp(str1,str2) < 0) printf("%s < %s\n",str1,str2); else if (strcmp(str1,str2) > 0) printf("%s > %s\n",str1,str2); else printf("Hit kan man inte komma!\n"); printf("-------- strängjämförelser --------\n\n"); }/* exempel5 */ void exempel6(void) { char *str; int i; str= malloc(25*sizeof(char)); printf("----------- exempel 6 -----------\n\n"); printf("Ge en mening : "); str = gets(str); /* ger inget null-tecken */ printf("-->%s<-- har längden %i\n",str,strlen(str)); printf("första tecknet -->%c<-- längden %i\n",str[0],strlen(str)); printf("sista tecknet -->%c<-- längden %i\n",str[strlen(str)-1],strlen(str)); str[0] = '*'; printf("Stjärna först -->%s<-- längden %i\n",str,strlen(str)); str[strlen(str)-1] = '*'; printf(".... och sist -->%s<-- längden %i\n",str,strlen(str)); printf("-------- stränghantering --------\n\n"); }/* exempel6 */ int main(void) { /* exempel1(); exempel2(); exempel3(); exempel4(); exempel5(); */ exempel6(); }/* main */