-
Notifications
You must be signed in to change notification settings - Fork 1
/
ft_strlowcase.c
75 lines (57 loc) · 3.1 KB
/
ft_strlowcase.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
char *ft_strlowcase(char *str)
{
int i;
i = 0;
while (str[i] != '\0')
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = str[i] - ('A' - 'a');
}
i++;
}
return (str);
}
_______________________________________________________________________________________________
--- Explanation ---
Function Declaration:
char *ft_strlowcase(char *str): This function takes a string str as input and converts all uppercase letters in
the string to lowercase. It returns the modified string.
Variable Initialization:
int i;: Declares an integer variable i, which will be used as an index to iterate through the characters of the string.
Character Iteration:
while (str[i] != '\0'): This loop continues until it reaches the end of the string (the null terminator).
Inside the loop:
if (str[i] >= 'A' && str[i] <= 'Z'): This condition checks if the current character is an uppercase letter
(between 'A' and 'Z').
str[i] = str[i] - ('A' - 'a');: If the character is uppercase, this line converts it to lowercase by
subtracting the difference between the ASCII values of uppercase and lowercase letters. Specifically:
'A' is 65 and 'a' is 97, so ('A' - 'a') equals -32. Adding 32 to an uppercase letter gives its
lowercase equivalent.
Increment Index:
i++;: After checking and potentially converting the character, the index i is incremented to move to the next
character in the string.
Return Statement:
return (str);: Once the entire string has been processed, the function returns the modified string with all
uppercase letters converted to lowercase.
Português:
Declaração da Função:
char *ft_strlowcase(char *str): Esta função recebe uma string str como entrada e converte todas as letras maiúsculas
na string para minúsculas. Retorna a string modificada.
Inicialização da Variável:
int i;: Declara uma variável inteira i, que será usada como índice para percorrer os caracteres da string.
Iteração sobre os Caracteres:
while (str[i] != '\0'): Este loop continua até alcançar o final da string (o terminador nulo).
Dentro do loop:
if (str[i] >= 'A' && str[i] <= 'Z'): Esta condição verifica se o caractere atual é uma letra maiúscula
(entre 'A' e 'Z').
str[i] = str[i] - ('A' - 'a');: Se o caractere for maiúsculo, esta linha converte-o para minúsculo
subtraindo a diferença entre os valores ASCII de maiúsculas e minúsculas. Especificamente:
'A' é 65 e 'a' é 97, portanto, ('A' - 'a') é igual a -32. Adicionar 32 a uma letra maiúscula fornece
seu equivalente em minúscula.
Incremento do Índice:
i++;: Após verificar e, potencialmente, converter o caractere, o índice i é incrementado para mover para o
próximo caractere da string.
Instrução de Retorno:
return (str);: Uma vez que toda a string foi processada, a função retorna a string modificada com todas as
letras maiúsculas convertidas para minúsculas.