logo

itoa-funktio C:ssä

itoa () -funktiota käytetään muuntamaan int-tietotyyppi merkkijonotietotyypiksi C-kielellä.

SYNTAKSI -

 char * itoa ( int value, char * str, int base ); 

Puskurin läpimenoon asettamamme merkkijonon on oltava riittävän suuri lähdön säilyttämiseksi. Koska kantalukuarvot voivat olla joko OCTAL(0 - 7), DECIMAL(0 - 9) tai HEX(0 - 9, a - f). Kun kantaluku on DECIMAL, itoa() tuottaa -

(void) sprintf(puskuri, '%d', n);

Tässä puskuri palauttaa merkkijonon.

Kun kantaluku on OCTAL, itoa() muotoilee kokonaisluvun 'n' etumerkittömäksi oktaalivakioksi.

Ja kun kantaluku on HEX, itoa() muotoilee kokonaisluvun 'n' etumerkittömäksi heksadesimaalivakioksi.

Heksadesimaaliarvo sisältää pienet aakkoset.

Paluuarvo -

Merkkijonoosoitin palautetaan. Kun välitämme kelvottoman kantaluvun argumentin, funktio palauttaa NULL-arvon.

Standardin mukainen vaihtoehto -

  • sprintf(str,'%d',value) - Muunnettaessa desimaalilukua.
  • sprintf(str,'%x',value) - Muuntaa heksadesimaalikantaiseksi.
  • sprintf(str,'%o',value) - Muuntaa oktaalikantaiseksi.

Algoritmi:

 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 

KOODI -

 #include #include #include char* itoa(int num, char* buffer, int base) { int current = 0; if (num == 0) { buffer[current++] = &apos;0&apos;; buffer[current] = &apos;&apos;; 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
&apos;," 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 &apos;-lm&apos; flag to include the math library.</h4> <p> <strong>gcc -o test.out test.c -lm</strong> </p> <hr></0)>
itoa-funktio C:ssä

Huomautus: Meidän on kuitenkin pidettävä mielessä, että kun käännämme gcc:llä, meidän on käytettävä '-lm'-lippua sisällyttääksemme matemaattisen kirjaston.

gcc -o test.out test.c -lm