itoa() fonksiyonu C dilinde int veri tipini string veri tipine dönüştürmek için kullanılır.
SÖZ DİZİMİ -
char * itoa ( int value, char * str, int base );
Tampon geçişine yerleştirdiğimiz dize, çıktıyı tutacak kadar büyük olmalıdır. Taban değerleri OCTAL(0 - 7), DECIMAL(0 - 9) veya HEX(0 - 9, a - f) olabileceğinden. Sayı tabanı DECIMAL olduğunda, itoa() şunu üretir:
(void) sprintf(tampon, '%d', n);
Burada tampon karakter dizesini döndürür.
Taban OCTAL olduğunda, itoa(), 'n' tamsayısını işaretsiz bir sekizlik sabit olarak biçimlendirir.
Taban HEX olduğunda itoa(), 'n' tamsayısını işaretsiz onaltılık sabit olarak biçimlendirir.
Onaltılık değer küçük harfli alfabeleri içerecektir.
Geri dönüş değeri -
Dize işaretçisi döndürülecektir. Geçerli olmayan bir sayı tabanı bağımsız değişkenini ilettiğimizde işlev NULL değerini döndürecektir.
Standartlara uygun bir alternatif -
- sprintf(str,'%d',value) - Ondalık tabana dönüştürmek için.
- sprintf(str,'%x',value) - Onaltılık tabana dönüştürmek için.
- sprintf(str,'%o',value) - Sekizlik tabana dönüştürmek için.
Algoritma:
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++] = '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)>
Not: Ancak gcc ile derleme yaparken matematik kütüphanesini dahil etmek için '-lm' işaretini kullanmamız gerektiğini aklımızda tutmalıyız.
gcc -o test.out test.c -lm
0)>