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
Janelas sem borda no Fluxbox
Instalação pratica do novo kernel 2.6.20
Separar caracteres de uma string no PHP
Definindo um tema de cores para o Emacs
Mostrar os campos de uma tabela do PostgreSQL com PHP
Leitura recomendada
system("pause") para Linux
FL-Av - Interface gráfica para ClamAV
MDK (Mix Development Kit) no Projeto GNU
Programando em C/C++ no Eclipse
Lista de livros C++
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