Túnel do Tempo: a função itoa()
Em uma discussão no fórum de Programação em C e C++ do Viva o Linux, seu proponente perguntava acerca da função itoa(), desejoso de compreender seu funcionamento. Julguei interessante transportá-la, com algumas melhorias, para este espaço, até porque aqui posso fazer algo que não posso fazer naquele fórum, que é dar um exemplo explícito da implementação com código fonte em C.
[ Hits: 15.577 ]
Por: Paulo em 14/06/2017 | Blog: http://unixntools.blogspot.com.br/
Estou estudando C com um amigo virtual, através da Internet. Ele pediu para fazer um programa para converter números de decimal para binário. Fiz o programa, pegando exemplos da Net com a função itoa(), mas a única coisa que eu aprendi sobre itoa() é que ela converte o número.As páginas apresentam a resposta à dúvida do nosso amigo, e discutem, de passagem, alguns problemas com a função itoa() que ele usou no seu programa, apresentando uma versão ligeiramente melhor.
Queria saber mais, como ele funciona, pois não acho legal eu passar o código para ele e não saber como funciona, né?
Eis é o código.
#include <stdio.h> #include <stdlib.h> int main(void){ int num; char binario[10]; printf("Digite o número decimal: "); scanf("%d", &num); itoa(num, binario, 2); printf("O número %d em binário é %s. ", num, binario); return 0; }
Aprendendo a utilizar o GNU Debugger (parte 1)
Criando programas com suporte a arquivos de configuração com a libConfuse
Criando um sistema operacional com ASM e C++
Apreendendo a utilizar o GNU Debugger (parte 2)
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Desenvolvimento de um driver (8)
Não esta salvando as configurações de usuário. (3)
Quais Shell Scripts vocês usam? (5)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba