01: // copia e concatenazione di stringhe
02: #include<stdio.h>
03: #include<stdlib.h>
04:
05: #include<string.h>
06:
07: int main(int argc, char **argv){
08:
09: char s1[400] = "The Mississippi is a long river.";
10: char s2[400] = ""; // stringa vuota (ma il carattere di terminazione '\0' c'e'!
11:
12: printf("s1=[%s]\n", s1);
13: printf("s2=[%s]\n", s2);
14:
15: // s2=s1 FIXME non si puo' fare
16:
17: strcpy(s2, s1); // copio il contenuto di s1 in s2 (posso vederlo come assegnamento)
18: printf("dopo strcpy(s2, s1), s2=[%s]\n", s2);
19:
20: strcat(s2, s1); // accodo al contenuto di s2 quello di s1
21: printf("dopo strcat(s2, s1), s2=[%s]\n", s2);
22:
23: strcpy(s2, ""); // copio in s2 una stringa costante
24: printf("dopo strcpy(s2, \"\"), s2=[%s]\n", s2);
25:
26: strcpy(s2, "Fondamenti"); // copio in s2 una stringa costante
27: printf("dopo strcpy(s2, \"Fondamenti\"), s2=[%s]\n", s2);
28:
29: strncpy(s2 ,s1, 5); // copio in s2 i primi 5 caratteri di s1 (o quelli che ci sono se s1 contiene meno di 5 caratteri incluso il carattere di terminazione)
30: printf("dopo strncpy(s2, s1, 5), s2=[%s]\n", s2);
31:
32: strncpy(s2 ,"topo", 5); // come sopra ma con stringa costante
33: printf("dopo strncpy(s2, \"topo\", 5), s2=[%s]\n", s2);
34:
35: return 0;
36: }
37:
38: /*
39: ESECUZIONE
40:
41: s1=[The Mississippi is a long river.]
42: s2=[]
43: dopo strcpy(s2, s1), s2=[The Mississippi is a long river.]
44: dopo strcat(s2, s1), s2=[The Mississippi is a long river.The Mississippi is a long river.]
45: dopo strcpy(s2, ""), s2=[]
46: dopo strcpy(s2, "Fondamenti"), s2=[Fondamenti]
47: dopo strncpy(s2, s1, 5), s2=[The Mmenti]
48: dopo strncpy(s2, "topo", 5), s2=[topo]
49:
50: */
51:
52:
53:
Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it