Como converter um inteiro para um personagem em c ++

Converter um inteiro para seus equivalentes ASCII é uma prática comum na programação. Para muitas funções, é necessário manipular os formatos de dados para fazê-los funcionar. Infelizmente, C / C ++ não oferece um método toString conveniente (), ao contrário de Java, de modo que a conversão deve ser feito à mão.

  • Adicionar o inteiro desejada para o caractere `0`. Note que isto só irá funcionar para um dígito 0-9, e funciona porque os personagens acontecer de estar em ordem.

    int i = 3;

    c de char = `0` + i;

    Agora c é o personagem `3`.

  • Use itoa (), abreviação de Integer para ASCII. Esta função irá trabalhar para todas as plataformas Windows, mas não é padrão e não vai funcionar para Mac ou Linux.

    incluir

    {

    int i = 27;

    char * str = new char [33];

    itoa (i, str, 10);

    // A base de 10 a 10 indica

    }

    Agora str é "27".

  • Use fluxos de C ++. Este é o método mais padrão de conversão.

    incluir

    {

    int i = 5;

    std :: string s;

    std :: stringstream out;

    Fora lt; lt; Eu;

    s = out.str ();

    }

    Agora s está "5".

dicas & avisos

  • Qualquer inteiro para além dos números inteiros 0-9 tiver mais de um dígito, e, portanto, deve ser convertida para uma string (um array de caracteres).
  • A função itoa () também pode ser utilizado para bases não-decimais (por exemplo, alterar o último parâmetro de 2, 6, etc., para binário e hexadecimal).
  • O comprimento de itoa () `s matriz deve ser calculada pela mão. Lembre-se que as cordas são null-encerrado.
De esta maneira? Compartilhar em redes sociais:

LiveInternet