c++cascii

Convert an int to ASCII character


I have

int i = 6;

and I want

char c = '6'

by conversion. Any simple way to suggest?

EDIT: also i need to generate a random number, and convert to a char, then add a '.txt' and access it in an ifstream.


Solution

  • Straightforward way:

    char digits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
    char aChar = digits[i];
    

    Safer way:

    char aChar = '0' + i;
    

    Generic way:

    itoa(i, ...)
    

    Handy way:

    sprintf(myString, "%d", i)
    

    C++ way: (taken from Dave18 answer)

    std::ostringstream oss;
    oss << 6;
    

    Boss way:

    Joe, write me an int to char converter

    Studboss way:

    char aChar = '6';

    Joe's way:

    char aChar = '6'; //int i = 6;

    Nasa's way:

    //Waiting for reply from satellite...

    Alien's way: '9'

    //Greetings.

    God's way:

    Bruh I built this

    Peter Pan's way:

    char aChar;
    
    switch (i)
    {
      case 0:
        aChar = '0';
        break;
      case 1:
        aChar = '1';
        break;
      case 2:
        aChar = '2';
        break;
      case 3:
        aChar = '3';
        break;
      case 4:
        aChar = '4';
        break;
      case 5:
        aChar = '5';
        break;
      case 6:
        aChar = '6';
        break;
      case 7:
        aChar = '7';
        break;
      case 8:
        aChar = '8';
        break;
      case 9:
        aChar = '9';
        break;
      default:
        aChar = '?';
        break;
    }
    

    Santa Claus's way:

    //Wait till Christmas!
    sleep(457347347);
    

    Gravity's way:

    //What

    '6' (Jersey) Mikes'™ way:

    //

    SO way:

    Guys, how do I avoid reading beginner's guide to C++?

    My way:

    or the highway.

    Comment: I've added Handy way and C++ way (to have a complete collection) and I'm saving this as a wiki.

    Edit: satisfied?