Ir para conteúdo
Fórum Script Brasil
  • 0

strlen()


Pedrohpinho

Pergunta

Então galera,

Estou com uma dúvida tosca, mas tenho que perguntar porque sou iniciante.

Estou tentando utilizar essa função strlen() para verificar o tamanho de uma string, então eu criei uma string (char nome) e fiz: tamanho = strlen(nome);, mas quando dou um printf na variavel tamanho está me retornando 1, não deveria me retornar 0?, pois eu apenas declarei a string e nada mais. O mesmo está me ocorrendo com uma string dentro de um registro, declarei um registro que tem a string nomejogador[10], quando faço tamanho = strlen (DadosJogador.nomejogador);, e quando dou um printf na variavel tamanho me retorna 15, sendo que não coloquei nada nessa string, apenas declarei o registro. O que pode ser? ou estou fazendo algo errado?

Desde já agradeço a todos.

Editado por Pedrohpinho
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá,

A questão é o seguinte. A funcao strlen() trabalha com strings terminadas com barra zero.

Provavelmente o compilador que você está usando não pode valores default na sua variavel (o que é o mais comum), então quando você faz um strlen de uma variavel logo depois de declara-la ela pode estar contando lixo de memoria até encontrar o barra zero.

O ideal é colocar conteudo nas variaveis antes de usar funções de tratamento de string com terminador.

Pra criar uma string nula você pode fazer strcpy(nome_variavel, "") ou nome_variavel[0] = 0 ou ainda memset(nome_variavel, 0, sizeof(variavel));

Bons estudos.

Abs

Editado por CPP
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...