Converti un intero in una stringa in C

Satishkumar Bharadwaj 12 ottobre 2023
  1. Funzione sprintf() per convertire un intero in una stringa in C
  2. Funzione itoa() per convertire un intero in una stringa in C
Converti un intero in una stringa in C

Questo tutorial introduce come convertire un intero in un valore stringa in C. Ci sono diversi metodi per convertire un intero in una stringa in C, come la funzione sprintf(), itoa().

Funzione sprintf() per convertire un intero in una stringa in C

Come suggerisce il nome, viene utilizzato per stampare qualsiasi valore in una stringa. Questa funzione offre un modo semplice per convertire un numero intero in una stringa. Funziona come la funzione printf(), ma non stampa un valore direttamente sulla console ma restituisce una stringa formattata. Il valore restituito viene solitamente scartato, ma se si verifica un errore durante l’operazione, restituisce -1.

sprintf() Sintassi:

int sprintf(char *str, const char *format, [ arg1, arg2, ... ]);
  • str è un puntatore a un tipo di dati char.
  • format viene utilizzato per visualizzare il tipo di output insieme al segnaposto.
  • arg1, arg2 sono numeri interi da convertire in una stringa.

Codice di esempio di sprintf() per convertire un intero in una stringa in 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;
}

Produzione:

Enter a number: 20
You have entered: 20

Funzione itoa() per convertire un intero in una stringa in C

itoa() è una funzione di casting del tipo in C. Questa funzione converte un intero in una stringa con terminazione null. Può anche convertire un numero negativo.

itoa() Sintassi

char* itoa(int num, char* buffer, int base)
  • num è un numero intero.
  • buffer è un puntatore al tipo di dati char.
  • base è una base di conversione. Definisce un valore intero per convertirlo in un valore di base e lo memorizza in un buffer. Se la base è 10 e il valore è negativo, la stringa risultante precederà il segno meno (-).

Codice di esempio della funzione itoa() per convertire un intero in una stringa in 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;
}

Produzione:

Enter a number: 15
String value: 15
Attenzione
itoa() non è una funzione standard ANSI C. Potrebbe non funzionare sul tuo compilatore GCC a seconda della tua piattaforma.

Articolo correlato - C Integer

Articolo correlato - C String