Programação C

Comprimento da string em linguagem C

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

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

Neste tutorial, primeiro, mostraremos como usar um função definida pelo usuário para calcular o comprimento de uma string, e então mostraremos a você uma função de biblioteca embutida 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 ++;
return i;

int main ()

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

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

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

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

função strlen ():

Arquivo de cabeçalho:

fragmento.h

Sintaxe:

size_t strlen (const char * str)

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

Valor de retorno: Esta função retorna o comprimento da string str. Observe que size_t é apenas um apelido de um inteiro sem sinal.

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

char str1 [30] = "STRING ARRAY";
char * str2;
char * str3;
str2 = str1;
str3 = "STRING POINTER";
printf ("O comprimento da string str1 é =>% ld \ n", strlen (str1));
printf ("O comprimento da string str2 é =>% ld \ n", strlen (str2));
printf ("O comprimento da string str3 é =>% ld \ n", strlen (str3));
printf ("Comprimento da string" STRING LITERAIS "é =>% ld \ n", strlen ("STRING LITERAIS"));
return 0;

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

Comprimento da coluna usando sizeof Operator

Também podemos usar o tamanho de operador para comprimento de 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 sizeof retorna o tamanho alocado da matriz e do ponteiro, respectivamente.

// Exemplo3.c
#incluir
int main ()

char str1 [30] = "STRING";
char * str2 = str1;
printf ("Comprimento de" STRING "é =>% d \ n", (sizeof ("STRING") - 1));
printf ("O tamanho alocado da matriz str1 é =>% d \ n", sizeof (str1));
printf ("O tamanho do ponteiro str2 é =>% d \ n", sizeof (str2));
return 0;

Aqui, na linha nº 9, passamos a 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 sizeof, ele retorna o tamanho alocado da matriz, que é 30, e ao passar um ponteiro de caractere, 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 método mais adequado para você.

Como usar o GameConqueror Cheat Engine no Linux
O artigo cobre um guia sobre como usar o mecanismo de cheat GameConqueror no Linux. Muitos usuários que jogam no Windows costumam usar o aplicativo “C...
Melhores emuladores de console de jogo para Linux
Este artigo irá listar software de emulação de console de jogo popular disponível para Linux. A emulação é uma camada de compatibilidade de software q...
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...