Die Funktion itoa() wird verwendet, um den Datentyp int in den Datentyp string in der Sprache C zu konvertieren.
SYNTAX -
char * itoa ( int value, char * str, int base );
Die Zeichenfolge, die wir in den Pufferdurchlauf einfügen, muss groß genug sein, um die Ausgabe aufzunehmen. Da Basiswerte entweder OCTAL(0 - 7), DECIMAL(0 - 9) oder HEX(0 - 9, a - f) sein können. Wenn die Basis DEZIMAL ist, erzeugt itoa() -
(void) sprintf(buffer, '%d', n);
Hier gibt der Puffer eine Zeichenfolge zurück.
Wenn die Basis OCTAL ist, formatiert itoa() die Ganzzahl „n“ in eine vorzeichenlose Oktalkonstante.
Und wenn die Basis HEX ist, formatiert itoa() die Ganzzahl „n“ in eine vorzeichenlose Hexadezimalkonstante.
Der Hexadezimalwert umfasst Kleinbuchstaben.
Rückgabewert -
Der String-Zeiger wird zurückgegeben. Wenn wir ein ungültiges Basisargument übergeben, gibt die Funktion NULL zurück.
Eine normgerechte Alternative -
- sprintf(str,'%d',value) – Zur Konvertierung in die Dezimalbasis.
- sprintf(str,'%x',value) – Zur Konvertierung in die Hexadezimalbasis.
- sprintf(str,'%o',value) – Zur Konvertierung in die Oktalbasis.
Algorithmus:
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++] = '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)>
Hinweis: Wir müssen jedoch bedenken, dass wir beim Kompilieren mit gcc das Flag „-lm“ verwenden müssen, um die Mathematikbibliothek einzubinden.
gcc -o test.out test.c -lm
0)>