strlen - Como calcular o número de caracteres em uma string

  • strlen: int strlen( char *str );
A função strlen() retorna o número de caracteres contidos na string str, sem contar com o caractere delimitador \0.


strlen - Como contar o número de caracteres em uma string

Lembrando que string é tudo aqui que vem antes do caractere delimitador \0, podemos calcular quantos caracteres uma string tem fazendo um laço percorrer todos seus elementos, desde o de índice 0 até o índice que do último caractere que não é o \0.

Para descobrir onde está o primeiro \0, basta fazermos a comparação de cada caractere com o \0.
Se o caractere comparado não for \0, incrementamos uma variável de contagem.
Ao final do looping, essa variável terá o número de caracteres da strings.

É bem simples, veja como fica nosso código C:

int strlen(char *str)
{
    int total=0;

    while( str[total] != '\0')
        total++;

    return total;
}

7 comentários:

  1. Gostaria de Saber como Faço a função strcmp() e a strstr() sem utilizart a biblioteca.

    ResponderExcluir
  2. Gostaria de saber como faço a função strcmp() e strstr() sem usar a biblioteca string.h Por favor Ajudem.

    ResponderExcluir
  3. Walicen ,você poderia conseguir fazer algo parecido mais essas funções servem exatamente para facilitar a manipulação de strings. Essas funções precisam da biblioteca (string.h) pois elas estão armazenadas lá.

    ResponderExcluir
  4. A função strcmp equivale a:
    for( i = 0; x[i] == y[i]; ++i )
    if ( x[i] == 0 ) return 0;
    return x[i] - y[i];

    A função strlen equivale a:
    for( i = 0; x[i] != 0; ++i);
    return i;

    ResponderExcluir
  5. Escreva um programa que pergunte ao usuário, nome, sexo, data de nascimento e retorne
    a seguinte mensagem. “Olá <>, você é um/uma <> e tem
    <> ”

    ResponderExcluir
  6. Se usar a função fgets(); para armazenar a string digitada a função criada para verificar quantos caracteres existem mostra 1 a mais do que os caracteres que realmente foram digitados.

    ResponderExcluir
  7. size_t MYstrlen(const char *str)
    {
    int counter;
    for ( counter = 0; str[counter] != '\0'; counter++ );
    return counter;
    }

    ResponderExcluir

É quase impossível criar centenas de páginas voltadas para programação C e não cometer algum erro.

- Se notar algum conceito, letra ou trecho de código errado, deixe sua correção

- Se perceber uma maneira melhor ou mais eficiente de fazer algo, deixe sua ideia

- Se algo não ficar claro ou for confuso, nos avise

Aos poucos vamos aumentando e melhorando a qualidade de nosso material, e para isso contamos com sua ajuda.