logo

itoa Funktion i C

itoa ()-funktionen används för att konvertera int-datatyp till strängdatatyp i C-språk.

SYNTAX -

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

Strängen vi placerar i buffertpasset måste vara tillräckligt stor för att hålla utgången. Eftersom radixvärden antingen kan vara OKTAL(0 - 7), DECIMAL(0 - 9) eller HEX(0 - 9, a - f). När radixen är DECIMAL, producerar itoa() -

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

Här returnerar buffert teckensträng.

När radixen är OKTAL, formaterar itoa() heltal 'n' till en oktalkonstant utan tecken.

Och när radixen är HEX, formaterar itoa() heltal 'n' till en hexadecimal konstant utan tecken.

Det hexadecimala värdet kommer att inkludera små bokstäver.

Returvärde -

Strängpekaren kommer att returneras. När vi skickar ett ogiltigt radixargument kommer funktionen att returnera NULL.

Ett standardkompatibelt alternativ -

  • sprintf(str,'%d',värde) - För konvertering till decimalbas.
  • sprintf(str,'%x',värde) - För konvertering till hexadecimal bas.
  • sprintf(str,'%o',värde) - För konvertering till oktal bas.

Algoritm:

 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 

KOD -

 #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 Funktion i C

Notera: Men vi måste komma ihåg att när vi kompilerar med gcc måste vi använda '-lm'-flaggan för att inkludera matematikbiblioteket.

gcc -o test.out test.c -lm