logo

itoa Funktion i C

itoa () funktion bruges til at konvertere int datatype til streng datatype i C sprog.

SYNTAKS -

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

Den streng, vi placerer i bufferpasset, skal være stor nok til at holde outputtet. Da radix-værdier enten kan være OKTAL(0 - 7), DECIMAL(0 - 9) eller HEX(0 - 9, a - f). Når radix er DECIMAL, producerer itoa() -

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

Her returnerer buffer tegnstreng.

Når radix er OKTAL, formaterer itoa() heltal 'n' til en oktal konstant uden fortegn.

Og når radixen er HEX, formaterer itoa() heltal 'n' til hexadecimal konstant uden fortegn.

Den hexadecimale værdi vil inkludere små bogstaver.

Returværdi -

Strengmarkøren vil blive returneret. Når vi sender et ugyldigt radix-argument, vil funktionen returnere NULL.

Et standard-kompatibelt alternativ -

  • sprintf(str,'%d',værdi) - Til konvertering til decimalbasis.
  • sprintf(str,'%x',værdi) - Til konvertering til hexadecimal base.
  • sprintf(str,'%o',værdi) - Til 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++] = &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

Bemærk: Men vi skal huske på, at mens vi kompilerer med gcc, skal vi bruge '-lm'-flaget til at inkludere matematikbiblioteket.

gcc -o test.out test.c -lm