Convertire int in stringa in c

Convertire int in stringa in c
“I tipi di dati delle stringhe sono ovunque nella programmazione moderna, dai linguaggi di programmazione di basso livello a linguaggi di alto livello che fanno un grande sforzo per astrarre i concetti fondamentali. Pertanto, ti ritroverai a lavorare con stringhe in qualsiasi linguaggio di programmazione più volte che no.

A tale scopo, discuteremo di metodi rapidi e molto adatti ai principianti per convertire un numero intero in una stringa nel linguaggio di programmazione C."

Metodo 1 - Converti Int in Stringa usando la funzione Sprintf

La funzione Sprintf è una delle funzioni che è possibile utilizzare per convertire un valore intero in una stringa. Come suggerisce il nome, la funzione prenderà qualsiasi valore e lo stampa in una stringa.

È molto simile alla funzione printf. Ma invece di stampare il valore nello standard, la funzione restituisce una stringa formattata che possiamo archiviare in una variabile e utilizzare in seguito.

La sintassi della funzione è come mostrato di seguito:

int sprintf (char *str, const char *formato, [arg1, arg2,…]);

La funzione accetta tre parametri principali:

  1. STR - questo specifica un puntatore a un tipo di dati Char.
  2. Formato: il parametro Format consente di specificare il tipo di output con un segnaposto.
  3. Args - Questo parametro specifica i valori interi in cui convertire in una stringa.

Noterai che la funzione restituisce un tipo Int. Questo perché restituisce una stringa formattata che viene scartata e un valore di -1 se si verifica un errore.

Vediamo questa funzione in azione.

#includere
intMain ()
int var = 100;
charint_str [20];
sprintf (int_str, "%d", var);
printf ("var: %s", int_str);
return0;

Nel codice sopra, iniziamo importando i file di intestazione necessari. Per la funzione Sprint (), richiediamo solo il file di intestazione di input e output standard.

Quindi apriamo la funzione principale e dichiariamo due variabili. Il primo è il valore intero che desideriamo convertire in una stringa.

La prossima variabile è l'array di caratteri che useremo per archiviare il valore della stringa una volta convertito l'INT in una stringa.

Quindi utilizziamo la funzione sprint e passiamo il tipo di char, il formato e l'INT come parametri.

Infine, possiamo stampare la stringa risultante usando la funzione printf. L'output risultante è mostrato:

$ gcc to_string.C
$ ./UN.fuori
VAR: 100

Metodo 2 - Converti Int in String con funzione Itoa () (non standard)

C'è un'altra funzione non standard in C che è possibile utilizzare per convertire un INT in una stringa. È una semplice funzione di cast di tipo. È apparso per la prima volta nel libro del linguaggio di programmazione C.

Tuttavia, come afferma il libro, questa funzione non è standard e non gestisce molto bene gli interi negativi.

Poiché non è standard, tentare di compilare la funzione dipenderà fortemente dal tuo sistema operativo e se la funzione è disponibile.

Tuttavia, siamo sviluppatori e sperimentare è nella nostra natura.

La seguente sintassi mostra come funziona la funzione Itoa ().

char * itoa (int num, char * buffer, int base)

La funzione richiede tre parametri principali:

  1. Num - Questo parametro si riferisce al valore int che si desidera convertire in una stringa.
  2. Buffer - Il parametro buffer è un puntatore a un tipo di dati Char per trattenere la stringa convertita.
  3. base - si riferisce alla base di conversione.

La funzione restituisce quindi una stringa dell'intero specificato.

Il codice seguente illustra come utilizzare la funzione Itoa () per convertire un INT in una stringa.

#includere
#includere
#includere
intMain ()
int var = 100;
charint_string [20];
Itoa (var, int_string, 10);
printf ("var: %s \ n", int_string);
return0;

Qui, specifichiamo la conversione dell'INT alla base 10.

Chiusura

In questo articolo, abbiamo coperto due metodi principali per convertire un INT in una stringa in C. È bene attenersi alla funzione Sprintf in quanto è una funzione standard e può essere esportata tra i sistemi.

Grazie per la lettura e la codifica felice!!