logo

Fonction itoa en C

La fonction itoa () est utilisée pour convertir le type de données int en type de données chaîne en langage C.

SYNTAXE -

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

La chaîne que nous plaçons dans le passage du tampon doit être suffisamment grande pour contenir la sortie. Puisque les valeurs de base peuvent être OCTAL(0 - 7), DECIMAL(0 - 9) ou HEX(0 - 9, a - f). Lorsque la base est DECIMAL, itoa() produit -

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

Ici, buffer renvoie une chaîne de caractères.

Lorsque la base est OCTAL, itoa() formate l'entier 'n' en une constante octale non signée.

Et lorsque la base est HEX, itoa() formate l'entier 'n' en constante hexadécimale non signée.

La valeur hexadécimale inclura des alphabets minuscules.

Valeur de retour -

Le pointeur de chaîne sera renvoyé. Lorsque nous passons un argument de base non valide, la fonction renvoie NULL.

Une alternative conforme aux normes -

  • sprintf(str,'%d',value) - Pour la conversion en base décimale.
  • sprintf(str,'%x',value) - Pour la conversion en base hexadécimale.
  • sprintf(str,'%o',value) - Pour la conversion en base octale.

Algorithme:

 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)>
Fonction itoa en C

Remarque : Mais nous devons garder à l'esprit que pendant que nous compilons avec gcc, nous devons utiliser l'indicateur '-lm' pour inclure la bibliothèque mathématique.

gcc -o test.out test.c -lm