Steuerbefehle in C ausgeben
-
Hallo,
ich bin durch Google auf dieses Forum gestoßen und brauche Hilfe bei einem Programm von mir. Es Geht darum, die ANSI-Tabelle in C auszugeben. Dies klappt auch einigermaßen. Nur hab ich ein paar Probleme. Hier erstmal das Programm:
/****************************************************************** Programm: ansitabelle.cpp Funktion: Gibt die ANSI-Tabelle aus Bemerkung: *********************** Autor(en): J*** D*** letzte Aenderung: 25-04-07 JD erste Version 25-04-07 JD zweite Version ******************************************************************/ #include "stdafx.h" int main(int argc, char* argv[]) { int i; for ( i = 0; i < 66 ; i++) { switch(i) { case 7: printf("BEL"); break; case 8: printf("BS"); case 9: printf("TAB"); break; } printf("%c %i ", i,i); printf("%c %i ", i+65,i+65); printf("%c %i ", i+131,i+131); printf("%c %i\n ", i+197,i+197); } return 0; }Nun das Problem: Wenn man das Programm ausführt, sieht man, das die Tabelle nicht richtig schön ausgegeben wird im oberen Teil. Nun muss ich es so hinbekommen, das Sachen wie ein Leerzeichen oder ein Tabulator auf dem Bildschirm als die Buchstabenfolge TAB oder SPA (durch die switch-case Anweisung), aber im Programm selber nicht als richtiger Tabulator ausgegeben werden. Ich muss solche Sachen also quasi ausgeben, ohne sie wirklich auszugeben.
Wäre nett, wenn mir jemand bei meinem Problem hilft.
MfG
blizzzzzard
-
Wollte noch hinzufügen: Die Header-Dateien sind nicht im Programm selber hinzugefügt, sondern sind in der Datei stdafx.h hinzugefügt worden... nicht, das ihr was falsches denkt ^^
-
for (unsigned char c = 0; c < 255; ++c) { switch(c) { case 7: std::cout << "BEL"; break; case 8: std::cout << "BS"; break; case 9: std::cout << "TAB"; break; //case ...: // ... // ... default: std::cout << c; break; } if (c % 4 == 0) std::cout << '\n'; else std::cout << "\t"; } std::cout << std::flush;Vielleicht so?
Gruss,
DeSoVoDaMu
-
Hallo,
nur als Randnotiz:
aus Gründen der Ästhetik würde ich in den Vergleichen die einfachen Escape-Sequenzen wie '\a', '\b '\t' verwenden.
-
blizzzzzard schrieb:
Nun das Problem: Wenn man das Programm ausführt, sieht man, das die Tabelle nicht richtig schön ausgegeben wird im oberen Teil. Nun muss ich es so hinbekommen, das Sachen wie ein Leerzeichen oder ein Tabulator auf dem Bildschirm als die Buchstabenfolge TAB oder SPA (durch die switch-case Anweisung), aber im Programm selber nicht als richtiger Tabulator ausgegeben werden. Ich muss solche Sachen also quasi ausgeben, ohne sie wirklich auszugeben.
Vielleicht reicht es schon, wenn du die erste printf()-Anweisung in den Default-Zweig des switch() schiebst
