funksjonen itoa () brukes til å konvertere int datatype til strengdatatype i C-språk.
SYNTAKS -
char * itoa ( int value, char * str, int base );
Strengen vi plasserer i bufferpasset må være stor nok til å holde utgangen. Siden radiksverdier enten kan være OKTAL(0 - 7), DESIMAL(0 - 9) eller HEX(0 - 9, a - f). Når radiksen er DESIMAL, produserer itoa() -
(void) sprintf(buffer, '%d', n);
Her returnerer buffer tegnstreng.
Når radiksen er OKTAL, formaterer itoa() heltall 'n' til en oktalkonstant uten fortegn.
Og når radiksen er HEX, formaterer itoa() heltall 'n' til en heksadesimal konstant uten fortegn.
Den heksadesimale verdien vil inkludere små bokstaver.
Returverdi -
Strengepekeren vil bli returnert. Når vi sender et ugyldig radix-argument, vil funksjonen returnere NULL.
Et standard-kompatibelt alternativ -
- sprintf(str,'%d',verdi) - For konvertering til desimaltall.
- sprintf(str,'%x',verdi) - For konvertering til heksadesimal base.
- sprintf(str,'%o',verdi) - For konvertering til oktal base.
Algoritme:
Step 1: Take a number as argument Step 2: Create an empty string buffer to store result Step 3: Use sprintf() to convert number to string Step 4: End
KODE -
#include #include #include char* itoa(int num, char* buffer, int base) { int current = 0; if (num == 0) { buffer[current++] = '0'; buffer[current] = ' '; return buffer; } int num_digits = 0; if (num <0) { if (base="=" 10) num_digits ++; buffer[current]="-" ; current num *="-1;" } else return null; +="(int)floor(log(num)" log(base)) 1; while (current < num_digits) int base_val="(int)" pow(base, num_digits-1-current); num_val="num" base_val; char value="num_val" '0'; -="base_val" num_val; buffer; main() a="123456;" buffer[256]; (itoa(a, buffer, !="NULL)" printf('input="%d," base="%d," buffer="%s '," a, 10, buffer); b="-2310;" (itoa(b, b, c="10;" (itoa(c, 2) c, 2, 0; pre> <p> <strong>Output</strong> </p> <pre> Input = 123456, base = 10, Buffer = 123456 Input = -2310, base = 10, Buffer = -2310 Input = 10, base = 2, Buffer = 1010 </pre> <img src="//techcodeview.com/img/c-tutorial/58/itoa-function-c.webp" alt="itoa Function in C"> <h4>Note: But we have to keep in mind that while we are compiling with gcc, we have to use the '-lm' flag to include the math library.</h4> <p> <strong>gcc -o test.out test.c -lm</strong> </p> <hr></0)>
Merk: Men vi må huske på at mens vi kompilerer med gcc, må vi bruke '-lm'-flagget for å inkludere matematikkbiblioteket.
gcc -o test.out test.c -lm
0)>