Direkt zum Inhalt
www.olaf-groeger.de

Hauptnavigation

  • Startseite
  • NMR
  • Programmieren
    • Streams
    • Subclassing von Edit-Controls
  • Software
    • Calimah Scheduler
    • ServicesCtl

Pfadnavigation

  1. Startseite
  2. Programmieren
  3. Streams
  4. Konsolen-Fenster Für GUI-basierte Windowsprogramme
  5. Überschreiben Der Funktionen Der Basisklasse Streambuf, Die Aufgerufen Werden, Wenn Eine Ausgabe Erfolgen Soll

Überschreiben der Funktionen der Basisklasse streambuf, die aufgerufen werden, wenn eine Ausgabe erfolgen soll

Von olaf , 29 Juli 2025

Die Überschreibungen sync und overflow werden von der Stream-Klasse aufgerufen, wenn der Ausgabe-Puffer in das Gerät schreiben soll, z.B. bei dem Aufruf von flush. Sie rufen die privaten Funktionen WriteToConsole bzw. WriteCharToConsole auf, die die eigentliche Ausgabe durchführen.
int OG_constreambuf::sync()
{
  WriteToConsole();
  return(0);
}

int OG_constreambuf::overflow(int c)
{
  WriteToConsole();

  if (c != EOF)
    if (pbase() == epptr())
      WriteCharToConsole(c);
    else
      sputc(c);

  return 0;
}

Der Destruktor und die Funktion DeleteConsole sind trivial.

OG_constreambuf::~OG_constreambuf()
{
  sync();

  if (pReserve)
    delete pReserve;
  DeleteConsole();
}

void OG_constreambuf::DeleteConsole()
{
  CloseHandle(hConsoleOut);

  FreeConsole();
}

Links für das Blättern im Buch 3

  • Implementierung der Ausgabe-Routine, die in das Konsolen-Fenster schreibt
  • Nach oben
  • Ableiten einer neuen äußeren Klasse, die die innere Klasse verwendet

Language switcher

  • English
  • German
Unterstützt von Drupal