Zurückspulen von std::cout, um zum Anfang einer Zeile zurückzukehren

Zurückspulen von std::cout, um zum Anfang einer Zeile zurückzukehren

"\r" sollte sowohl für Windows als auch für Mac OS X funktionieren.

Etwas wie:

std::cout << "will not see this\rwill see this" << std::flush;
std::cout << std::endl; // all done

Ich habe keinen Zugriff auf einen Mac, aber aus reiner Konsolensicht wird dies weitgehend davon abhängen, wie die Wagenrücklauf- und Zeilenvorschubzeichen behandelt werden. Wenn Sie das eine oder andere buchstäblich an die Konsole senden können, möchten Sie nur senden ein Wagenrücklauf.

Ich bin mir ziemlich sicher, dass Mac Wagenrückläufe und Zeilenvorschübe anders behandelt als *nix &windows.

Wenn Sie nach In-Place-Updates suchen (z. B. die aktuelle Zeile überschreiben), würde ich empfehlen, sich den curses anzusehen lib. Dies sollte eine plattformunabhängige Möglichkeit bieten, das zu tun, wonach Sie suchen. (Denn selbst bei Verwendung von Standard-C++ gibt es keine plattformunabhängige Methode für das, wonach Sie fragen).