Converter Inteiro para Char em C
-
Adicione
'0'
para converterint
parachar
em C -
Atribua um Valor
int
a um Valorchar
para Converterint
parachar
em C -
Use a Função
sprintf()
para Converterint
emchar
em C - Conclusão
Converter um inteiro em um caractere na linguagem de programação C pode ser essencial em vários cenários. Caracteres em C são representados como valores ASCII, o que torna relativamente simples realizar essa conversão.
Este tutorial explora vários métodos para converter um inteiro em um caractere em C, variando desde adição simples até conversão de tipo explícita e utilização da função sprintf()
.
Adicione '0'
para converter int
para char
em C
O valor ASCII de '0'
é 48. Portanto, adicionando seu valor a um inteiro irá convertê-lo no caractere correspondente.
Aqui está um programa completo em C demonstrando esse método:
#include <stdio.h>
int main(void) {
int number = 71;
char charValue = number + '0';
printf("The character value is: %c", charValue);
return 0;
}
Saída:
The character value is: w
Sabemos que '0'
tem um valor ASCII de 48, e ao adicionar 71 a 48 resulta em 119. No conjunto de caracteres ASCII, o valor 119 corresponde ao caractere w
.
Portanto, a saída do programa exibe o valor do caractere w
.
Além disso, para converter inteiros dentro da faixa de 0 a 9 para caracteres, podemos usar a mesma abordagem:
#include <stdio.h>
int main(void) {
int number = 7;
char charValue = number + '0';
printf("The value is: %c", charValue);
return 0;
}
Saída:
The value is: 7
Aqui, o código declara uma variável caractere chamada charValue
e também computa seu valor adicionando o inteiro armazenado em number
ao valor ASCII de '0'
.
Em C, caracteres são representados como inteiros com base na codificação ASCII, então essa operação converte efetivamente o inteiro 7 para o caractere '7'
.
Outro programa para converter um valor inteiro em um caractere é mostrado abaixo:
#include <stdio.h>
int main(void) {
char charValue[] = "stringValueX";
int anyNumber;
for (anyNumber = 0; anyNumber < 10; ++anyNumber) {
charValue[11] = anyNumber + '0';
puts(charValue);
}
return 0;
}
Saída:
stringValue0
stringValue1
stringValue2
stringValue3
stringValue4
stringValue5
stringValue6
stringValue7
stringValue8
stringValue9
O código fornecido acima começa inicializando um array de caracteres chamado charValue
com a string "stringValueX"
e declarando uma variável inteira chamada anyNumber
.
Ele então entra em um loop for
que itera de 0 a 9. Dentro do loop, o código substitui o caractere no índice 11 de charValue
adicionando o valor de anyNumber
ao valor ASCII de '0'
, substituindo efetivamente o X
por números de 0 a 9.
A função puts(charValue)
imprime o charValue
modificado em cada iteração em linhas separadas. Como resultado, o programa gera uma saída na qual "stringValueX"
é exibido com o X
substituído pelos números de 0 a 9, cada um aparecendo em sua linha.
Atribua um Valor int
a um Valor char
para Converter int
para char
em C
Outra maneira de converter um valor inteiro em um valor caractere é atribuir diretamente o inteiro a uma variável caractere. O valor caractere correspondente ao valor inteiro será impresso.
Aqui está um exemplo:
#include <stdio.h>
int main(void) {
int number = 65;
char charvalue = number;
printf("The character value: %c", charvalue);
return 0;
}
Saída:
The character value: A
Também podemos usar conversão de tipo explícita para converter um inteiro em um caractere. Veja o código de exemplo abaixo.
#include <stdio.h>
int main(void) {
int number = 67;
char charValue = (char)number;
printf("The character value = %c", charValue);
return 0;
}
Saída:
The character value = C
Aqui, o programa converte explicitamente o valor inteiro de number
em um caractere usando (char)
antes do nome da variável. Essa conversão de tipo informa ao compilador para tratar number
como um caractere.
Use a Função sprintf()
para Converter int
em char
em C
A função sprintf()
funciona da mesma forma que a função printf()
, mas em vez de enviar a saída para o console, ela retorna a string formatada. Isso nos permite converter um inteiro em um caractere e armazená-lo em uma string.
Sintaxe do sprintf()
int sprintf(char *strValue, const char *format, [ arg1, arg2, ... ]);
strValue
é um ponteiro para o tipo de dadoschar
.format
é usado para exibir o tipo de saída juntamente com o espaço reservado.[arg1,arg2...]
são os inteiro(s) a serem convertidos.
A função escreve os dados na string apontada por strValue
e retorna o número de caracteres escritos em strValue
, excluindo o caractere nulo. O valor de retorno é geralmente descartado.
Se algum erro ocorrer durante a operação, ele retorna -1
.
Aqui está um exemplo:
#include <stdio.h>
int main(void) {
int number = 72;
char charValue[1];
sprintf(charValue, "%c", number);
printf("The character value = %s", charValue);
return 0;
}
Saída:
The character value = H
Neste exemplo, usamos sprintf()
para converter o inteiro 72 no caractere H
e armazenamos isso no array charValue
. É crucial garantir que o array de caracteres (charValue
) seja grande o suficiente para conter o char convertido.
Conclusão
Neste tutorial, exploramos várias abordagens para converter inteiros em caracteres na linguagem de programação C. Cada método oferece suas vantagens e casos de uso, permitindo que você escolha a abordagem mais adequada com base em suas necessidades específicas de programação.
Artigo relacionado - C Integer
- Converter Char * para Int em C
- Converter um número inteiro numa string em C
- Converter uma string para Inteiro em C