01: // ricerca caratteri e sottostringhe
02: #include<stdio.h>
03: #include<stdlib.h>
04: 
05: #include<string.h>
06: 
07: int main(int argc, char **argv){
08: 
09:   char s[] = "The Mississippi is a long river.", *p;
10: 
11:   printf("s=[%s]\n", s);
12: 
13:   p = strchr(s,' ');    // cerco nella stringa s la prima occorrenza del carattere ' '. Se c'e' ne restituisco l'indirizzo in p (altrimenti NULL)
14:   printf(" strchr(s,' ') punta a s[%ld]\n", p-s);  // aritmentica dei puntatori la differenza tra due indirizzi rappresenta il numero di posizioni tra l'uno e l'altro
15: 
16:   p = strchr(s,'s');   // come sopra ma cerco il carattere 's'
17:   printf(" strchr(s,'s') punta a s[%ld]\n", p-s);
18: 
19:   p = strrchr(s,'s');  // cerco nella stringa l'ultima occorrenza della lettera 's' ovvero come sopra ma ricerco partendo da destra
20:   printf(" strrchr(s,'s') punta a s[%ld]\n", p-s);
21: 
22:   p = strstr(s,"is");  // cerco la prima occorrenza della stringa "is"
23:   printf(" strstr(s,\"is\") punta a s[%ld]\n", p-s);
24: 
25:   p = strstr(s,"isi");  // cerco la prima occorrenza della stringa "isi", ma in questo caso controllo se l'ho trovata. Spoiler: NO
26:   if (p == NULL) 
27:     printf(" strstr(s,\"isi\") restituisce NULL\n");
28: 
29: 
30: 
31:   return 0;
32: }
33: 
34: /* ESECUZIONE
35: 
36:  s=[The Mississippi is a long river.]
37:   strchr(s,' ') punta a s[3]
38:   strchr(s,'s') punta a s[6]
39:   strrchr(s,'s') punta a s[17]
40:   strstr(s,"is") punta a s[5]
41:   strstr(s,"isi") restituisce NULL
42: 
43: */
44: 
45: 


Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it