Converter um número inteiro numa string em C

Satishkumar Bharadwaj 12 outubro 2023
  1. sprintf() Função para converter um número inteiro para uma string em Dó
  2. itoa()Função para converter um número inteiro para uma string em C
Converter um número inteiro numa string em C

Este tutorial introduz como converter um número inteiro para um valor de string em C. Existem diferentes métodos para a conversão de um número inteiro para uma string em C, como sprintf(), itoa() função.

sprintf() Função para converter um número inteiro para uma string em Dó

Como o seu nome sugere, é utilizado para imprimir qualquer valor numa string. Esta função dá uma maneira fácil de converter um número inteiro numa string. Funciona da mesma forma que a função printf(), mas não imprime um valor directamente na consola, mas devolve uma string formatada. O valor de retorno é normalmente descartado, mas se ocorrer um erro durante a operação, devolve -1.

sprintf() Syntax:

int sprintf(char *str, const char *format, [ arg1, arg2, ... ]);
  • str é um ponteiro para um tipo de dados char.
  • O format é utilizado para mostrar o tipo de saída juntamente com o espaço reservado.
  • arg1, arg2 são números inteiros a converter em string.

Exemplo de código de sprintf() para Converter um Inteiro numa String em C

#include <stdio.h>

int main(void) {
  int number;
  char text[20];

  printf("Enter a number: ");
  scanf("%d", &number);

  sprintf(text, "%d", number);

  printf("\nYou have entered: %s", text);

  return 0;
}

Resultado:

Enter a number: 20
You have entered: 20

itoa()Função para converter um número inteiro para uma string em C

itoa() é uma função de fundição de tipo em C. Esta função converte um número inteiro para uma string de terminação nula. Pode também converter um número negativo.

itoa() Sintaxe

char* itoa(int num, char* buffer, int base)
  • num é um número inteiro.
  • buffer é um ponteiro para o tipo de dados cartográficos.
  • base é uma base de conversão. Define um valor inteiro para o converter para um valor base e armazena-o num buffer. Se a base for 10 e o valor for negativo, a string resultante precederá com o sinal de menos (-).

Exemplo de código de itoa() Função para converter um número inteiro para uma string em C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void) {
  int number, l;
  char string[20];

  printf("Enter a number: ");
  scanf("%d", &number);

  itoa(number, string, 10);

  printf("String value = %s\n", string);

  return 0;
}

Resultado:

Enter a number: 15
String value: 15
Advertência
itoa() não é uma função padrão ANSI C. Pode não funcionar no seu compilador GCC, dependendo da sua plataforma.

Artigo relacionado - C Integer

Artigo relacionado - C String