Konverter int til streng i C

Konverter int til streng i C
“Strenger Datatyper er overalt i moderne programmering, fra programmeringsspråk på lavt nivå til språk på høyt nivå som gjør en stor innsats for å abstrahere de grunnleggende konseptene. Derfor vil du finne deg selv å jobbe med strenger på ethvert programmeringsspråk flere ganger enn ikke.

For det formålet vil vi diskutere raske og veldig nybegynnervennlige metoder for å konvertere et heltall til en streng i C-programmeringsspråket.”

Metode 1 - Konverter int til streng ved hjelp av Sprintf -funksjonen

SPRINTF -funksjonen er en av funksjonene du kan bruke for å konvertere en heltallverdi til en streng. Som navnet antyder, vil funksjonen ta hvilken som helst verdi og skrive den ut i en streng.

Det ligner veldig på printf -funksjonen. Men i stedet for å skrive ut verdien til standarden, returnerer funksjonen en formatert streng som vi kan lagre i en variabel og bruke senere.

Funksjonssyntaks er som vist nedenfor:

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

Funksjonen godtar tre hovedparametere:

  1. STR - Dette spesifiserer en peker til en char -datatype.
  2. Format - Formatparameteren lar deg spesifisere typen utgang med en plassholder.
  3. ARGS - Denne parameteren spesifiserer heltallverdiene som skal konverteres til en streng.

Du vil merke at funksjonen returnerer en INT -type. Dette er fordi den returnerer en formatert streng som kastes, og en verdi på -1 hvis en feil oppstår.

La oss se denne funksjonen i aksjon.

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

I koden over starter vi med å importere de nødvendige overskriftsfilene. For Sprint () -funksjonen krever vi kun standardinngangs- og output -overskriftsfilen.

Vi åpner da hovedfunksjonen og erklærer to variabler. Den første er heltallverdien som vi ønsker å konvertere til en streng.

Den neste variabelen er karakteroppstillingen som vi vil bruke for å lagre strengverdien når vi konverterer int til en streng.

Vi bruker deretter sprintfunksjonen og passerer char -typen, formatet og INT som parametere.

Til slutt kan vi skrive ut den resulterende strengen ved hjelp av printf -funksjonen. Den resulterende utgangen er en vist:

$ gcc to_string.c
$ ./en.ute
Var: 100

Metode 2 - Konverter int til streng med itoa () -funksjon (ikke -standard)

Det er en annen ikke-standardfunksjon i C som du kan bruke til å konvertere en int til en streng. Det er en enkel type-støpefunksjon. Det dukket først opp i C -programmeringsspråklige boken.

Imidlertid, som boka uttaler, er denne funksjonen ikke-standard og takler ikke negative heltall veldig bra.

Siden det er ikke-standard, vil det å prøve å kompilere funksjonen avhenge av operativsystemet ditt, og hvis funksjonen er tilgjengelig.

Vi er imidlertid utviklere, og eksperimentering er i vår natur.

Følgende syntaks viser hvordan ITOA () -funksjonen fungerer.

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

Funksjonen tar tre hovedparametere:

  1. Num - Denne parameteren refererer til INT -verdien du ønsker å konvertere til en streng.
  2. Buffer - Bufferparameteren er en peker til en char -datatype for å holde den konverterte strengen.
  3. base - refererer til konverteringsbasen.

Funksjonen returnerer deretter en streng av det spesifiserte heltallet.

Koden nedenfor illustrerer hvordan du bruker ITOA () -funksjonen for å konvertere en int til en streng.

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

Her spesifiserer vi konvertering av int til base 10.

Lukking

I denne artikkelen dekket vi to hovedmetoder for å konvertere en int til en streng i C. Det er bra å holde seg til SPRINTF -funksjonen, da det er en standardfunksjon og kan eksporteres på tvers av systemer.

Takk for at du leser, og lykkelig koding!!