Converter Integer em Char em C

  1. Adicione '0' para Converter um int para char
  2. Atribuir um valor int a um valor char
  3. sprintf() Função para converter uma Int para um caractere

Este tutorial introduz como converter um valor inteiro num valor de carácter em C. Cada carácter tem código ASCII, pelo que já é um número em C. Se quiser converter um número inteiro num carácter, basta adicionar '0'.

Adicione '0' para Converter um int para char

O '0' tem um valor ASCII de 48. Portanto, temos de adicionar o seu valor ao valor inteiro para o converter no carácter desejado. O programa é o que se segue:

#include<stdio.h>
int main(void)
{
    int number=71;

    char charValue = number+'0';
    printf("The character value is :%c",charValue);

    return 0;
}

Resultado:

The character value is: w

Abaixo está um programa que irá converter um número inteiro para o caractere apenas entre 0 e 9.

#include<stdio.h>
int main(void)
{
    int number=7;  
    char charValue=number+'0';
    printf("The value is :%c",charValue);
    return 0;
}

Resultado:

The value is: 7

Outro programa para converter um valor inteiro para um caractere é o que se segue:

#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;
} 

Resultado:

stringValue0
stringValue1
stringValue2
stringValue3
stringValue4
stringValue5
stringValue6
stringValue7
stringValue8
stringValue9

Atribuir um valor int a um valor char

Outra forma de converter um valor inteiro para um valor de carácter é atribuir um valor inteiro a um valor de carácter, como abaixo indicado: O valor de caractere correspondente a um valor inteiro é impresso aqui.

#include<stdio.h>

int main(void)
{
    int number = 65;
    char charvalue = number;

    printf("The character value :%c", charvalue); 

    return 0;
}

Resultado:

The character value : A

Abaixo está outra forma de converter um valor inteiro a um valor de caractere. Aqui, o valor é datilografado, pelo que o valor 67 é convertido no valor ASCII correspondente.

#include<stdio.h>
int main(void)
{
    int number = 67;
    char charValue = (char)number;
    printf("The character value = %c", charValue);

    return 0;
}

Resultado:

The character value = C

sprintf() Função para converter uma Int para um caractere

A função sprintf() funciona da mesma forma que a função printf() mas em vez de enviar a saída para a consola, devolve a string formatada.

O primeiro argumento para a função sprintf() é um ponteiro para a string alvo. Os restantes argumentos são os mesmos que para a função printf().

Sintaxe da função sprintf()

int sprintf(char *strValue, const char *format, [arg1, arg2, ... ]);
  • O strValue é um ponteiro para o tipo de dados char.
  • O format é utilizado para mostrar o tipo de saída juntamente com o titular do lugar.
  • [arg1, arg2, ...] são o(s) inteiro(s) a ser(em) convertido(s).

A função escreve os dados na string apontada por strValue e retorna o número de caracteres escritos para strValue, excluindo o carácter nulo. O valor de retorno é geralmente descartado. Se ocorrer algum erro durante a operação, devolve -1. O programa para converter um inteiro para um caractere é como abaixo:

#include<stdio.h>
int main(void)
{
  int number = 72;
  char charValue[1];

  sprintf(charValue, "%c", number);
  printf("The character value = %s", charValue);

  return 0;
} 

Resultado:

The character value = H

Artigo relacionado - C Char

  • Obter um Substring em C
  • Comparar Char em C