Convertendo inteiros para ascii e ascii para inteiros em C
De um modo simples, com nosso bom e velho compilador gcc , podemos ter o valor inteiro de um caractere ascii da seguinte forma:
main(){
int i;
char c;
c='x';
i=c;
printf("%d",i);
}
Nada mais banal, não é? Você apenas iguala a variável de inteiro com a variável de caractere e ela já dá o seu valor ascii.
Agora, dado um inteiro, se você quiser saber qual é seu caractere ascii correspondente é só fazer:
main(){
int i;
char c;
i='109';
c=i;
printf("%c",c);
}
Tão simples que dá vontade de bater no professor de programação que disse que era para usar "struct{char *c} = sprintf(%#$#!$#$)" e coisas assim.
Boa "programação" para todos.
Outras dicas deste autor
Comando "locate" sumido no SuSE Linux
Como montar partições freebsd no linux
Resolvendo problema de conexão do Skype Beta no Debian
Torrent com Magnet Links - Baixando arquivos via Terminal
Mantenha o "ls" sempre colorido
Leitura recomendada
Lançado o FltkEmu
Verificar conversão de tipo em C/C++
Compilando no Debian Wheezy 7.5
Programando em C/C++ no Eclipse
Como escrever código portável
Comentários
pior q da vontade de socar esses professores mesmo!!! A minha professora que tive de programação era mt horrivel!! desse tipo mesmo hehehe
E só complementando sua dica, também podemos retornar o equivalente em hexa, no lugar de "%d" ou "%c" use "%x".
Valeuuuu...
Mensagem
E só complementando sua dica, também podemos retornar o equivalente em hexa, no lugar de "%d" ou "%c" use "%x".
Valeuuuu...
Fiz essa prog. em C++:
#include <iostream>
using namespace std;
int main ()
{
int n, opcao;
char m;
cout<<"Digite 1 para converter numero>char e 2 para char>numero: ";
cin>>opcao;
switch (opcao)
{
case 1:
cout<<"Digite um numero: ";
cin>>n;
cout<<n<<"= "<<static_cast<char>(n)<<endl;
break;
case 2:
cout<<"Digite um caracter: ";
cin>>m;
cout<<m<<"= "<<static_cast<int>(m)<<endl;
break;
}
return 0;
}
Em C || C++ poderia ser assim:
n(int)
Mensagem
Fiz essa prog. em C++:
#include <iostream>
using namespace std;
int main ()
{
int n, opcao;
char m;
cout<<"Digite 1 para converter numero>char e 2 para char>numero: ";
cin>>opcao;
switch (opcao)
{
case 1:
cout<<"Digite um numero: ";
cin>>n;
cout<<n<<"= "<<static_cast<char>(n)<<endl;
break;
case 2:
cout<<"Digite um caracter: ";
cin>>m;
cout<<m<<"= "<<static_cast<int>(m)<<endl;
break;
}
return 0;
}
Em C || C++ poderia ser assim:
n(int)
Contribuir com comentário
Enviar