Andreas Pflug: C++, welchen Weg nehmen Streams (iostream)?

Beitrag lesen

Eine portable Möglichkeit sind ja immer
noch die ANSI Escape Codes. Die Verwendung veranschaulicht
folgendes Code-Beispiel (unter Linux / KDE getestet):

  
#include<math.h>  
#include<iostream>  
  
using namespace std;  
  
int main() {  
  double x, y1, y2;  
  char *esc = "\x1b[";  
  
  cout << esc << "40m"   // Hintergrund schwarz  
       << esc << "91m"   // Vordergrund rot, intensiv  
       << esc << "2J";   // Konsole Loeschen  
  
  for(x=-7; x<=7; x+=0.5) {  
    y1 = floor(fabs(x)+sqrt(49-x*x)+0.5);  
    y2 = floor(fabs(x)-sqrt(49-x*x)+0.5);  
    // Im Folgenden jeweils:  
    // Cursor positionieren und ein '*' ausgeben  
    cout << esc << (15-y1) << ";" << (2*x+15) << "f*"  
         << esc << (15-y2) << ";" << (2*x+15) << "f*";  
  }  
  
  cout << esc << "25;1f\n";  
  
  return 0;  
}  

Unter Linux muss man anschließend 'reset' eingeben,
damit die Konsole wieder normal aussieht ... ;-)

MfG

Andreas