Aquibrasil Postado Novembro 2, 2005 Denunciar Share Postado Novembro 2, 2005 Pessoal, como converto uma variável int para char? Isto é, para que o seu formato mude de número para letra.Resumidamente:Eu quero que isto: int variavel_a=10;Vire isto: char variavel_b[]="10";Obrigado pela atenção e aguardo respostas. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 2, 2005 Denunciar Share Postado Novembro 2, 2005 Com a função itoa() (integer to array).Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Aquibrasil Postado Novembro 2, 2005 Autor Denunciar Share Postado Novembro 2, 2005 Graymalkin, we have a problem. Hehehe... eu gostaria de uma maneira alternativa de fazer isso pois estou usando a <windows.h> que adora entrar em conflito com a biblioteca standard do C++.Por isso, reformulo minha pergunta: como se faz (isto é, sem usar funções prontas) para converter int para char? Hummm... já estou começando a ter idéias, mas uma explicação caberia muito bem aqui. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Novembro 3, 2005 Denunciar Share Postado Novembro 3, 2005 Graymalkin, we have a problem. Hehehe... eu gostaria de uma maneira alternativa de fazer isso pois estou usando a <windows.h> que adora entrar em conflito com a biblioteca standard do C++.Por isso, reformulo minha pergunta: como se faz (isto é, sem usar funções prontas) para converter int para char? Hummm... já estou começando a ter idéias, mas uma explicação caberia muito bem aqui. A função sprintf() também pode fazer isso. Você tentou ela? De qualquer forma, escrevi duas funções que podem ser utilizadas para isso (na verdade você só utilizará uma delas, a outra é complementar desta):#include <stdlib.h> #include <stdio.h> char itoc(int i) { switch (i) { case 0: return '0'; case 1: return '1'; case 2: return '2'; case 3: return '3'; case 4: return '4'; case 5: return '5'; case 6: return '6'; case 7: return '7'; case 8: return '8'; case 9: return '9'; } } void itoa(int i, char s[]) { int m10 = 1; int qt = 0; int n; while (((int)(i/m10))>0) m10 *= 10; m10 /= 10; while (m10>0) { n = (int)(i/m10) - ((int)(i/(m10*10))*10); s[qt] = itoc(n); m10 /= 10; qt++; } s[qt] = '\0'; } int main() { int i = 32768; char s[10]; itoa(i, s); printf("%s\n", s); system("pause"); }Todavia, só vai funcionar para os inteiros positivos. Mas, acredito que seja fácil ajustar se você necessitar de negativos também.Abraços,Graymalkin Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rockbilly Postado Novembro 4, 2005 Denunciar Share Postado Novembro 4, 2005 Em C eu faço isso com a função sprintf(), ex: main() { int i=25; char str[20]; sprintf(str,"%d",i); printf("Inteiro: %d - CONVERTIDO para STRING: %s",i,str); getch(); } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Aquibrasil
Pessoal, como converto uma variável int para char? Isto é, para que o seu formato mude de número para letra.
Resumidamente:
Eu quero que isto: int variavel_a=10;
Vire isto: char variavel_b[]="10";
Obrigado pela atenção e aguardo respostas.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.