Comprimento da string no idioma C

Comprimento da string no idioma C
Uma string na linguagem C é uma variedade de caracteres que é encerrada com um caractere nulo (\ 0). O comprimento da string é o número de caracteres em uma string. No comprimento da string '\ 0,' um personagem não é contado.

No exemplo mostrado acima, o comprimento da corda str é 6.

Neste tutorial, primeiro, mostraremos como usar um função definida pelo usuário Para calcular o comprimento de uma corda e depois mostraremos uma função de biblioteca interna strlen (). Também mostramos os usos do tamanho de operador para literais de string.

Comprimento da string usando a função definida pelo usuário

Você pode escrever uma função definida pelo usuário que retorna o número de caracteres em uma string.

//Exemplo 1.c
#incluir
int stringLength (char *str)

int i = 0;
enquanto (str [i] != '\ 0') i ++;
retornar i;

int main ()

char str [30] = "string";
printf ("Comprimento da string str => %d \ n", stringLength (str));
retornar 0;

Aqui, iteramos o loop while de i = 0 até que não encontremos o '\ 0' personagem. O valor de eu é aumentado em 1 em cada iteração do while loop. Quando o loop termina, o valor de eu é o comprimento da corda.

Comprimento da string usando a função da biblioteca integrada

A função da biblioteca interna strlen () também pode ser usado para determinar o comprimento da string.

função strlen ():

Arquivo de cabeçalho:

corda.h

Sintaxe:

size_t strlen (const char *str)

Argumento: Esta função leva um argumento do ponteiro do tipo para char.

Valor de retorno: Esta função retorna o comprimento da string str. Observe que size_t é apenas um pseudônimo de um número inteiro não assinado.

// Exemplo2.c
#incluir
#incluir
int main ()

char str1 [30] = "Array da string";
char *str2;
char *str3;
str2 = str1;
str3 = "ponteiro da string";
printf ("comprimento da string str1 é => %ld \ n", strlen (str1));
printf ("comprimento da string str2 é => %ld \ n", strlen (str2));
printf ("comprimento da string str3 é => %ld \ n", strlen (str3));
printf ("comprimento da string" string literais "é => %ld \ n", strlen ("string literais"));
retornar 0;

Aqui, passamos a matriz de string, ponteiro de string e string literal para a função strlen, e a função retorna o comprimento da string.

Comprimento da sequência usando o tamanho do operador

Também podemos usar o tamanho de Operador para o comprimento da string (apenas para literal de string). Mas, temos que subtrair 1 do valor retornado por este operador, porque ele também conta o caractere '\ 0'. Para matriz e ponteiro, o operador de tamanho de retorna o tamanho alocado da matriz e o ponteiro, respectivamente.

// Exemplo3.c
#incluir
int main ()

char str1 [30] = "string";
char *str2 = str1;
printf ("comprimento de" string "é => %d \ n", (sizeof ("string") - 1));
printf ("tamanho alocado da matriz str1 é => %d \ n", sizeof (str1));
printf ("tamanho do ponteiro STR2 é => %d \ n", sizeof (str2));
retornar 0;

Aqui, na linha nº 9, passamos pela string literal "string" e obtemos o tamanho, incluindo o caractere '\ 0'. Então, subtraímos 1 e obtemos o tamanho real da string.

Quando passamos uma matriz para o operador de tamanho de, ele retorna o tamanho alocado da matriz, que é 30 e, ao passar um ponteiro de personagem, ele retorna o tamanho do ponteiro.

Conclusão

Então, neste tutorial, mostramos como o comprimento da string pode ser calculado de várias maneiras. Você pode usar em seu código o que for mais adequado para você.