logo

itoa-functie in C

itoa () functie wordt gebruikt om int-gegevenstype naar string-gegevenstype in C-taal te converteren.

SYNTAXIS -

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

De string die we in de bufferpas plaatsen, moet groot genoeg zijn om de uitvoer vast te houden. Omdat radixwaarden OCTAL(0 - 7), DECIMAL(0 - 9) of HEX(0 - 9, a - f) kunnen zijn. Wanneer de radix DECIMAAL is, produceert itoa() -

(ongeldig) sprintf(buffer, '%d', n);

Hier retourneert buffer een tekenreeks.

Wanneer de radix OCTAL is, formatteert itoa() het gehele getal 'n' in een octale constante zonder teken.

En als de radix HEX is, formatteert itoa() het gehele getal 'n' in een niet-ondertekende hexadecimale constante.

De hexadecimale waarde omvat kleine letters.

Winstwaarde -

De stringaanwijzer wordt geretourneerd. Wanneer we een ongeldig radix-argument doorgeven, retourneert de functie NULL.

Een standaard-conform alternatief -

  • sprintf(str,'%d',value) - Voor conversie naar decimale basis.
  • sprintf(str,'%x',value) - Voor conversie naar hexadecimale basis.
  • sprintf(str,'%o',value) - Voor conversie naar octale basis.

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 

CODE-

 #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-functie in C

Opmerking: Maar we moeten er rekening mee houden dat we tijdens het compileren met gcc de vlag '-lm' moeten gebruiken om de wiskundebibliotheek op te nemen.

gcc -o test.out test.c -lm