Pergunta

Eu preciso de uma função que retorne o valor ASCII de um personagem, incluindo espaços, guias, novas linhas, etc ...

Em uma nota semelhante, qual é a função que converte entre números hexadecimais, decimais e binários?

Foi útil?

Solução

char c;
int ascii = (int) c;
s2.data[j]=(char)count;

Um char é um número inteiro, não há necessidade de funções de conversão.

Talvez você esteja procurando funções que exibam números inteiros como uma string - usando representações hexadecimais, binárias ou decimais?

Outras dicas

Você não precisa de uma função para obter o valor ASCII - basta converter para um número inteiro por um elenco (implícito):

int x = 'A';  // x = 65
int y = '\t'; // x = 9

Para converter um número em hexadecimal ou decimal, você pode usar qualquer um dos membros do printf família:

char buffer[32];  // make sure this is big enough!
sprintf(buffer, "%d", 12345);  // decimal: buffer is assigned "12345"
sprintf(buffer, "%x", 12345);  // hex: buffer is assigned "3039"

Não há função interna para converter em binário; Você terá que rolar o seu próprio.

Se você deseja obter o valor ASCII de um personagem em seu código, basta colocar o personagem em cotações

char c = 'a';

Você pode estar confundindo a representação interna com a saída. Para ver que valor um personagem tem:

char c = 'A';
cout << c << " has code " << int(c) << endl;

Da mesma forma, para os valores hexadecimais - todos os números são números hexadecimais, por isso é apenas uma questão de saída:

int n = 42;
cout << n << " in hex is " << hex << n << endl;

O "Hex" na declaração de saída é um manipulador de C ++. Existem manipuladores para hexadecimal e decimal (DEC), mas infelizmente não para binário.

Tanto quanto hexadecimal e binário - essas são apenas representações de números inteiros. O que você provavelmente quer é algo como printf ("%d", n) e printf ("%x", n) - o primeiro imprime o decimal, a segunda a versão hexadecimal do mesmo número. Esclarecer o que você está tentando fazer -

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top