ft_tolower

A função tolower() converte uma letra maiúscula para uma letra minúscula.

Declaração

int tolower(int c);

Parâmetros

  • c – Letra a ser convertida para minúsculo.

Retorno

Essa função retorna o minúsculo equivalente a ‘c‘, caso esse valor exista, caso contrário ‘c‘ permanece inalterado. O valor retornado é um int que pode ser implicitamente convertido para char.

Exemplo

#include <stdio.h>
#include <ctype.h>

int main () {
   int i = 0;
   char c;
   char str[] = "NARUTO UZUMAKI";
   
   while(str[i]) {
      putchar (toupper(str[i])); //"naruto uzumaki"
      i++;
   }
   
   return(0);
}

Codificando a função

Ao olhar a tabela ASCII, vemos que o valor decimal da letra A é 65, enquanto do a é 97. Dessa forma podemos dizer que a diferença entre a letra maiúscula para a minuscula é de 32. Logo para converter o caractere basta verificar se ele é maiúsculo e se sim somar 32.

Em C as letras são implicitamente convertidas para int

int	ft_tolower(int c)
{
	if (c >= 'A' && c <= 'Z') //verificando se é maiúscula
		c += 32; //transformando em minúscula
	return (c); //devolvendo o caractere do parâmetro
}

Referências

https://linux.die.net/man/3/tolower

https://www.tutorialspoint.com/c_standard_library/c_function_tolower.htm

Deixe um comentário