Lunghezza della stringa in lingua C

Lunghezza della stringa in lingua C
Una stringa in lingua C è un array di caratteri che viene terminato con un carattere null (\ 0). La lunghezza della stringa è il numero di caratteri in una stringa. Nella lunghezza della stringa '\ 0,' non viene conteggiato un carattere.

Nell'esempio mostrato sopra, la lunghezza della stringa str è 6.

In questo tutorial, in primo luogo, mostreremo come usare un funzione definita dall'utente Per calcolare la lunghezza di una stringa, quindi ti mostreremo una funzione di libreria integrata strlen (). Ti mostriamo anche gli usi del taglia di operatore per i letterali di stringa.

Lunghezza della stringa utilizzando la funzione definita dall'utente

È possibile scrivere una funzione definita dall'utente che restituisce il numero di caratteri in una stringa.

//Esempio 1.C
#includere
int stringLength (char *str)

int i = 0;
while (str [i] != '\ 0') i ++;
ritorno i;

int main ()

Char Str [30] = "String";
printf ("lunghezza della stringa str è => %d \ n", stringLength (str));
restituzione 0;

Qui, itechiamo il ciclo i = 0 finché non incontriamo il '\ 0' carattere. Il valore di io è aumentato da 1 In ogni iterazione del ciclo while. Quando il ciclo termina, il valore di io è la lunghezza della stringa.

Lunghezza della stringa utilizzando la funzione libreria integrata

La funzione della libreria integrata strlen () può anche essere usato per determinare la lunghezza della stringa.

funzione strlen ():

File di intestazione:

corda.H

Sintassi:

size_t strlen (const char *str)

Discussione: Questa funzione prende un argomento del puntatore del tipo a Char.

Valore di ritorno: Questa funzione restituisce la lunghezza della stringa str. Notare che size_t è solo un alias di un numero intero non firmato.

// Esempio2.C
#includere
#includere
int main ()

Char Str1 [30] = "String Array";
char *str2;
char *str3;
str2 = str1;
str3 = "puntatore stringa";
printf ("lunghezza della stringa str1 è => %ld \ n", strlen (str1));
printf ("lunghezza della stringa str2 è => %ld \ n", strlen (str2));
printf ("lunghezza della stringa str3 è => %ld \ n", strlen (str3));
printf ("lunghezza della stringa" String letterali "è => %ld \ n", strlen ("letterali stringhe"));
restituzione 0;

Qui, passiamo l'array di stringa, il puntatore della stringa e la stringa letterale alla funzione Strlen e la funzione restituisce la lunghezza della stringa.

Lunghezza della stringa usando l'operatore sizeof

Possiamo anche usare il taglia di Operatore per la lunghezza della stringa (solo per la stringa letterale). Ma dobbiamo sottrarre 1 dal valore restituito da questo operatore, perché conta anche il carattere '\ 0'. Per array e puntatore, la dimensione dell'operatore restituisce rispettivamente le dimensioni allocate dell'array e del puntatore.

// Esempio3.C
#includere
int main ()

char str1 [30] = "string";
char *str2 = str1;
printf ("lunghezza di" stringa "è => %d \ n", (sizeof ("string") - 1));
printf ("dimensione allocata dell'array STR1 è => %d \ n", sizeof (str1));
printf ("dimensione del puntatore STR2 è => %d \ n", sizeof (str2));
restituzione 0;

Qui, nella riga n. 9, passiamo la "stringa" letterale della stringa e otteniamo le dimensioni, incluso il carattere '\ 0'. Quindi, sottraggiamo 1 e otteniamo la dimensione effettiva della stringa.

Quando passiamo un array all'operatore di dimensioni, restituisce la dimensione assegnata dell'array, che è 30 e quando si supera un puntatore del personaggio, restituisce le dimensioni del puntatore.

Conclusione

Quindi, in questo tutorial, ti abbiamo mostrato come la lunghezza della stringa può essere calcolata in vari modi. Puoi usare nel tuo codice qualunque metodo sia più adatto a te.