C/itoa
Wygląd
< C
Uwaga!
|
Opis
[edytuj]char* itoa(int input, char *buffer, int base)
Funkcja jako argument pobiera liczbę typu int (input), którą skonwertuje na podstawie bazy liczbowej do łańcucha znakowego przekazanego przez wskaźnik (buffer). Funkcja zwraca wskaźnik z tym samym adresem, który przypisała drugiemu argumentowi. Przykładowe bazy liczbowe:
* 2 - dwójkowy system liczbowy * 8 - ósemkowy system liczbowy * 16 - szesnastkowy system liczbowy
Przykłady
[edytuj]Pierwszy
[edytuj]#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
int liczba;
char bufor[16];
printf("Podaj liczbe: "); //Podajemy liczbe do przekonwertowania.
scanf("%d", &liczba);
printf("W systemie binarnym: %s\n", itoa(liczba,bufor,2)); //itoa konwertuje liczbe z dec na bin i zapisuje w bufor.
return 0;
}
Kompilacja :
Nie można skompilować tego programu pod gcc :
gcc i.c -Wall
i.c: In function ‘main’:
i.c:15:3: warning: implicit declaration of function ‘itoa’ [-Wimplicit-function-declaration]
itoa (i,buffer,10);
^
/tmp/cc1xPzhs.o: In function `main':
i.c:(.text+0x54): undefined reference to `itoa'
i.c:(.text+0x85): undefined reference to `itoa'
i.c:(.text+0xb6): undefined reference to `itoa'
collect2: error: ld returned 1 exit status
Drugi
[edytuj]/*
itoa example
http://www.cplusplus.com/reference/cstdlib/itoa/
*/
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char buffer [33];
printf ("Enter a number: ");
scanf ("%d",&i);
itoa (i,buffer,10);
printf ("decimal: %s\n",buffer);
itoa (i,buffer,16);
printf ("hexadecimal: %s\n",buffer);
itoa (i,buffer,2);
printf ("binary: %s\n",buffer);
return 0;
}