C++ ASCII in Array

angryolex

Cadet 2nd Year
Registriert
Nov. 2007
Beiträge
24
Hallo,

Ich hätte da mal ne Frage: Ist es möglich einen Array zu erstellen, der den ASCII Zeichensatz "in sich trägt"? Und ist es weiterhin möglich eine Variabel mit diesem Zeichensatz arbeiten zu lassen, in dem Sinne, dass man den Wert der Variabel erhöhen kann, so dass man zum nächsten Zeichen der Tabelle kommt, sprich:

cout << a --> !
a++
cout << a --> "

???
 
Hä? Meinst du sowas?

Code:
int main(void) {
    int i;
    char c[256];
    for(i = 0; i < 256; i++)
        c[i] = i;

    return 0;
}
 
bei asdfman erfolgt keine Ausgabe und bei moagnus ist keine Funktion main definiert (abgesehen von dem undefinierten ascii_array[]) ... eieiei...

gruß
hostile
 
Außerdem verwendet asdfman ein signed char.
Ohwei das kann ins Auge gehen.
Nehm lieber ein unsigned char da du ja werte bis 255 speicherst.
(char -128 128)
(unsigned 0 256)
 
Zuletzt bearbeitet:
und das funktioniert?
also das man wenn man i++ ausführen lässt, dass dann aus "§" dann "$" wird?
kann den ein char auch ein zeichen aus dem ASCII code sein?
 
angryolex schrieb:
und das funktioniert?
ja, denn ein char ist im eigentlichen ein integer wert, d.h. es werden zahlen von -128 bis 127 (irgendwo war doch eine abweichung, weiß nur nicht ob im negativen oder positiven bereich; bzw. unsigned = 0 bis 255) gespeichert. durch die ausgabe aber, wird dieser wert als zeichen dargestellt.
angryolex schrieb:
also das man wenn man i++ ausführen lässt, dass dann aus "§" dann "$" wird?
nein, es geht nur nach der wertigkeit mit dem jeweilig zugehörigen zeichen (nicht wie die anordnung auf der tastatur ist). siehe auch ascii-tabelle.
 
Ich hab mal die Fragmente oben zusammengeführt:

Code:
int main()
{
    char c[256];
    
    for (int i=0; i<256; i++)
   { 
    c[i] = i;
    cout << i << endl;
   }
 system("Pause");
 return 0;   
}

Allerdings werden nur die Zahlen von 0 bis 255 ausgegeben, keine Zeichen.
Ich weis, muss eingentlich ein ganz banaler Fehler oben sein, bin allerdings auch noch Anfänger ^^...
 
DANKE!

^^

Es hat jetzt funktioniert! Es werden alle Zeichen ausgegeben, Danke!
 
Nunja genau das ist es.
for(i = 0; i < 256; i++) <- Spezialzeichen.
Code:
int main() {
  unsigned char uc[256];
  for(int i = 0; i < 256; i++) {
    cout<<(char)i<<endl;
    uc[i] = i;
  }
  return 0;
}
Eine Variante wo auch ß,á,ê,.. enthalten sind ;o
 
Zurück
Oben