3° Anno TEORIA 9.1 EXTRA: ARRAY DI CHAR (STRINGHE) | Seite 6

8-1 : EXTRA : Array di caratteri ( stringhe ) Vers . 4.3 – Febbraio 2022
Breve riassunto delle funzioni del linguaggio C fin qui usate
a ) leggere un singolo carattere : nell ’ ipotesi che sia stata definita la seguente variabile :
char x ;
-
scanf ("% c ", & x );
-
x = getc ( stdin );
-
x = getchar ( );
b ) scrivere un singolo carattere : nell ’ ipotesi che sia stata definita la seguente variabile :
char x ;
-
printf ("% c ", x );
-
putc ( x , stdout );
-
putchar ( x );
c ) leggere una stringa : nell ’ ipotesi che sia stata definita la seguente variabile :
char str [ MAXDIM + 1 ];
-
scanf ("% s ", str );
// N . B . la lettura si interrompe al primo blank ( spazio ) incontrato
-
gets ( str );
d ) scrivere una stringa : nell ’ ipotesi che sia stata definita la seguente variabile :
char str [ MAXDIM + 1 ];
-
printf ("% s ", str );
// N . B . la scrittura NON si interrompe al primo blank ( spazio ) incontrato
-
puts ( str );
e ) calcolare la lunghezza di una stringa : nell ’ ipotesi che siano state definite la seguenti variabili :
char str [ MAXDIM + 1 ];
int n ;
-
n = strlen ( str );
N . B . Si può usare direttamente la chiamata strlen ( str ) in una espressione o in un confronto senza dover salvare il valore di ritorno in una apposita variabile intera . Il CARATTERE DI TERMINAZIONE NON VERRA ’ OVVIAMENTE INCLUSO NEL CALCOLO
f ) copiare una stringa in un altra : nell ’ ipotesi che siano state definite le seguenti variabili : char str [ MAXDIM + 1 ], str1 [ MAXDIM + 1 ];
- strcpy ( str1 , str ); // Copia il valore della stringa origine str nella stringa di destinazione str1
N . B . Affinchè la funzione esegua in maniera corretta ciò che si prefigge , appare del tutto evidente che la lunghezza della stringa di destinazione str1 debba essere maggiore o uguale alla lunghezza della stringa origine str
g ) effettuare un confronto tra due stringhe : nell ’ ipotesi che siano state definite le seguenti variabili :
char str [ MAXDIM + 1 ], str1 [ MAXDIM + 1 ]; int cfr ;
- cfr = strcmp ( str , str1 );
N . B . Confronta carattere per carattere la stringa str con la stringa str1 seguendo la codifica ASCII restituendo : - il valore 0 se le stringhe str ed str1 coincidono ( carattere per carattere ) - un valore < 0 se la stringa str ha un carattere con codifica ASCII minore di quello in posizione omologa contenuto nella stringa str1 - un valore > 0 se la stringa str ha un carattere con codifica ASCII maggiore di quello in posizione omologa contenuto nella stringa str1 N . B . Si può usare , come abbiamo già visto , direttamente la chiamata strcmp ( str , str1 ) in un confronto senza dover salvare il valore di ritorno in una apposita variabile intera .
Autore : Rio Chierego ( email : riochierego @ libero . it - sito web : www . riochierego . it ) Pag . 6