Nell'esempio mostrato sopra, la lunghezza della stringa str è 6.
In questo tutorial, per prima cosa, mostreremo come usare a funzione definita dall'utente per calcolare la lunghezza di una stringa, e poi ti mostreremo una funzione di libreria incorporata strlen(). Vi mostriamo anche gli usi del taglia di operatore per stringhe letterali.
Lunghezza della stringa utilizzando la funzione definita dall'utente
Puoi scrivere una funzione definita dall'utente che restituisce il numero di caratteri in una stringa.
//Esempio 1.c#includere
int stringaLength(char *str)
int i=0;
mentre(str[i] != '\0') i++;
ritorno io;
intero principale()
char str[30]= "STRINGA";
printf("La lunghezza della stringa str è => %d\n",stringLength(str));
restituisce 0;
Qui, iteriamo il ciclo while da io = 0 fino a quando non incontriamo il '\0' personaggio. Il valore di io è aumentato di 1 in ogni iterazione del ciclo while. Al termine del ciclo, il valore di io è la lunghezza della stringa.
Lunghezza della stringa utilizzando la funzione di libreria incorporata
La funzione di libreria integrata strlen() può essere utilizzato anche per determinare la lunghezza della stringa.
funzione strlen():
File di intestazione:
corda.hSintassi:
size_t strlen (const char *str)Discussione: Questa funzione accetta un argomento del tipo puntatore a char.
Valore di ritorno: Questa funzione restituisce la lunghezza della stringa str. Notare che taglia_t è solo un alias di un intero senza segno.
//Esempio2.c#includere
#includere
intero principale()
char str1[30]="MATRICE DI STRINGHE";
carattere *str2;
carattere *str3;
str2 = str1;
str3 = "PUNTATORE STRINGA";
printf("La lunghezza della stringa str1 è => %ld\n",strlen(str1));
printf("La lunghezza della stringa str2 è => %ld\n",strlen(str2));
printf("La lunghezza della stringa str3 è => %ld\n",strlen(str3));
printf("La lunghezza della stringa "STRING LITERALS" è => %ld\n",strlen("STRING LITERALS"));
restituisce 0;
Qui, passiamo array di stringhe, puntatore di stringa e letterale stringa alla funzione strlen e la funzione restituisce la lunghezza della stringa.
Lunghezza della stringa Usando sizeof Operator
Possiamo anche usare il taglia di operatore per la lunghezza della stringa (solo per stringa letterale). Ma dobbiamo sottrarre 1 dal valore restituito da questo operatore, perché conta anche il carattere '\0'. Per array e puntatore, l'operatore sizeof restituisce rispettivamente la dimensione allocata dell'array e del puntatore.
//Esempio3.c#includere
intero principale()
char str1[30] = "STRINGA";
carattere *str2 =str1;
printf("La lunghezza di "STRINGA" è => %d\n",(sizeof("STRING") - 1));
printf("La dimensione allocata dell'array str1 è => %d\n",sizeof(str1));
printf("La dimensione del puntatore str2 è => %d\n",sizeof(str2));
restituisce 0;
Qui, nella riga n. 9, passiamo la stringa letterale "STRING" e otteniamo la dimensione, incluso il carattere '\0'. Quindi, sottraiamo 1 e otteniamo la dimensione effettiva della stringa.
Quando passiamo un array all'operatore sizeof, restituisce la dimensione allocata dell'array, che è 30, e quando passa un puntatore a carattere, restituisce la dimensione del puntatore.
Conclusione
Quindi, in questo tutorial, ti abbiamo mostrato come calcolare la lunghezza della stringa in vari modi. Puoi utilizzare nel tuo codice qualsiasi metodo sia più adatto a te.