ASCII-Code ausgeben



  • Hallo.

    Wie kann ich mit C++ einen ASCII-Code ausgeben?
    Es sollen alle Zeichen von der lfd. Nummer 32 bis 255 angezeigt werden.

    MfG, Patrick



  • Vielleicht so?

    for(unsigned char c=32; c<=255; c++)
        std::cout << c << " ";
    


  • Habe jetzt mit folgender Lösung eine Ausgabe der ASCII-Zeichen mit Bezifferung.

    for ( i = 32; i < 256; i ++) 
      { 
        printf("%d %c ",i,i);
      }
    

    Allerdings laufen diese fortlaufend. Am besten wäre es, wenn das ganze als eine übersichtliche Tabelle ausgegeben werden würde, eben Ordnungszahlen nebeneinander und unter den Zahlen die jeweiligen ASCII-Zeichen.
    Wie kann ich das machen? 😕

    Habe schon mit Fluchtsymbolen, wie \n, experimentiert. Bekomme aber nicht das gewünschte Ergebnis.



  • Die Ausgabe wird immer fortlaufend sein, weil der Outputstream nicht so schnell ist.
    Btw:
    -std::cout<< (char) 125; (Gibt das Charzeichen aus)
    -std::endl; (Zeilenumbruch)



  • Habe das Problem nicht hinbekommen und lasse es jetzt. Hatte mich im Netz noch in sämtliche Foren und Texte eingelesen, kam aber nicht zur richtigen Lösung.



  • Meinst du sowas?

    #include <iostream>
    int main() {
    	for ( int i( 65 ); i < 127; ++i )
    		std::cout << i << ";";
    	std::cout << "\n";
    	for ( char i( 65 ); i < 127; ++i )
    		std::cout << i << ";";
    }
    

    Die Ausgabe sieht dann so aus:

    65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;93;94;95;96;97;98;99;100;101;102;103;104;105;106;107;108;109;110;111;112;113;114;115;116;117;118;119;120;121;122;123;124;125;126;
    A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;
    

    Kannst du im Tabellenkalkulationsprogramm deiner Wahl als CSV importieren.
    Wobei ich das Nebeneinander, was du forderst (zumindest hab ichs so verstanden), nicht sonderlich übersichtlich finde.



  • lol

    for (unsigned i = 32; i < 256; ++i)
        std::cout << i << '\t' << static_cast<unsigned char>(i) << std::endl;
    


  • Kóyaánasqatsi schrieb:

    -std::endl; (Zeilenumbruch)

    Nee.
    -'\n' (Zeilenumbruch)



  • Wie wär's mit dem?

    std::cout << "\
    Char  Dec  Oct  Hex | Char  Dec  Oct  Hex | Char  Dec  Oct  Hex | Char Dec  Oct   Hex\n\
    -------------------------------------------------------------------------------------\n\
    (nul)   0 0000 0x00 | (sp)   32 0040 0x20 | @      64 0100 0x40 | `      96 0140 0x60\n\
    (soh)   1 0001 0x01 | !      33 0041 0x21 | A      65 0101 0x41 | a      97 0141 0x61\n\
    (stx)   2 0002 0x02 | \"      34 0042 0x22 | B      66 0102 0x42 | b      98 0142 0x62\n\
    (etx)   3 0003 0x03 | #      35 0043 0x23 | C      67 0103 0x43 | c      99 0143 0x63\n\
    (eot)   4 0004 0x04 | $      36 0044 0x24 | D      68 0104 0x44 | d     100 0144 0x64\n\
    (enq)   5 0005 0x05 | %      37 0045 0x25 | E      69 0105 0x45 | e     101 0145 0x65\n\
    (ack)   6 0006 0x06 | &      38 0046 0x26 | F      70 0106 0x46 | f     102 0146 0x66\n\
    (bel)   7 0007 0x07 | '      39 0047 0x27 | G      71 0107 0x47 | g     103 0147 0x67\n\
    (bs)    8 0010 0x08 | (      40 0050 0x28 | H      72 0110 0x48 | h     104 0150 0x68\n\
    (ht)    9 0011 0x09 | )      41 0051 0x29 | I      73 0111 0x49 | i     105 0151 0x69\n\
    (nl)   10 0012 0x0a | *      42 0052 0x2a | J      74 0112 0x4a | j     106 0152 0x6a\n\
    (vt)   11 0013 0x0b | +      43 0053 0x2b | K      75 0113 0x4b | k     107 0153 0x6b\n\
    (np)   12 0014 0x0c | ,      44 0054 0x2c | L      76 0114 0x4c | l     108 0154 0x6c\n\
    (cr)   13 0015 0x0d | -      45 0055 0x2d | M      77 0115 0x4d | m     109 0155 0x6d\n\
    (so)   14 0016 0x0e | .      46 0056 0x2e | N      78 0116 0x4e | n     110 0156 0x6e\n\
    (si)   15 0017 0x0f | /      47 0057 0x2f | O      79 0117 0x4f | o     111 0157 0x6f\n\
    (dle)  16 0020 0x10 | 0      48 0060 0x30 | P      80 0120 0x50 | p     112 0160 0x70\n\
    (dc1)  17 0021 0x11 | 1      49 0061 0x31 | Q      81 0121 0x51 | q     113 0161 0x71\n\
    (dc2)  18 0022 0x12 | 2      50 0062 0x32 | R      82 0122 0x52 | r     114 0162 0x72\n\
    (dc3)  19 0023 0x13 | 3      51 0063 0x33 | S      83 0123 0x53 | s     115 0163 0x73\n\
    (dc4)  20 0024 0x14 | 4      52 0064 0x34 | T      84 0124 0x54 | t     116 0164 0x74\n\
    (nak)  21 0025 0x15 | 5      53 0065 0x35 | U      85 0125 0x55 | u     117 0165 0x75\n\
    (syn)  22 0026 0x16 | 6      54 0066 0x36 | V      86 0126 0x56 | v     118 0166 0x76\n\
    (etb)  23 0027 0x17 | 7      55 0067 0x37 | W      87 0127 0x57 | w     119 0167 0x77\n\
    (can)  24 0030 0x18 | 8      56 0070 0x38 | X      88 0130 0x58 | x     120 0170 0x78\n\
    (em)   25 0031 0x19 | 9      57 0071 0x39 | Y      89 0131 0x59 | y     121 0171 0x79\n\
    (sub)  26 0032 0x1a | :      58 0072 0x3a | Z      90 0132 0x5a | z     122 0172 0x7a\n\
    (esc)  27 0033 0x1b | ;      59 0073 0x3b | [      91 0133 0x5b | {     123 0173 0x7b\n\
    (fs)   28 0034 0x1c | <      60 0074 0x3c | \\      92 0134 0x5c | |     124 0174 0x7c\n\
    (gs)   29 0035 0x1d | =      61 0075 0x3d | ]      93 0135 0x5d | }     125 0175 0x7d\n\
    (rs)   30 0036 0x1e | >      62 0076 0x3e | ^      94 0136 0x5e | ~     126 0176 0x7e\n\
    (us)   31 0037 0x1f | ?      63 0077 0x3f | _      95 0137 0x5f | (del) 127 0177 0x7f\n";
    

Anmelden zum Antworten