2010-12-02 9 views
49

\f wird gesagt, der Form Feed sein. \t ist ein Tab, \a ist ein Piepton, \n ist ein Newline. Was genau ist ein Formular-Feed - \f? Das folgende ProgrammEscape-Sequenz f - Formular-Feed - was genau ist das?

#include <iostream> 
int main() 
{ 
    std::cout << "hello\fgoodbye" << std::endl; 
} 

druckt hello dann ein weibliches Zeichen (ein auf den Kopf holy hand grenade :) und dann goodbye alle auf einer Linie.

+0

Im GNOME-Terminal und 'xterm', gibt es eine neue Zeile + Raum. Ist 'isspace ('\ f')' für dich wahr? –

+0

@larsmans: In der Tat, es * seltsam * kehrt wahr, aber druckt das weibliche Zeichen sowieso :) –

+1

Vielleicht, wenn an einen sehr alten Drucker gesendet \ f zwingt einen Formular-Feed? – jrbjazz

Antwort

30

Es springt zum Anfang der nächsten Seite. (Gilt hauptsächlich für Terminals, an denen die Ausgabevorrichtung ein Drucker ist eher als eine VDU.)

+1

Und warum nicht? –

+2

Es tut für mich. Vielleicht ist dein Terminal irgendwie kaputt. –

+38

Überprüfen Sie, ob Ihr Akustikkoppler korrekt sitzt und Ihr Nummernfeld ausgerichtet ist. –

28

Von wiki page

12 (Formularvorschub, \ f^L), um zu bewirken, ein Druckerpapier auszustoßen, an die Spitze der die nächste Seite, oder ein Video-Terminal zu den Bildschirm löschen.

oder mehr Details here.

Es scheint, dass dieses Symbol jetzt ziemlich veraltet ist und die Art, wie es verarbeitet wird, kann (?) Implementierungsabhängig sein. Zumindest für mich gibt den Code die folgende Ausgabe (Xcode gcc 4.2, GDB-Konsole):

hello 
    goodbye 
+7

Es ist implementation-dependent in dem Sinne, dass die Art, wie es verarbeitet wird, bis zu der Anwendung/Gerät erhalten, nicht das C++ - Programm, das nur in den entsprechenden Stream schreiben sollte. –

11

Wenn Sie einen Stil der 1980er Jahre Drucker programmiert wurden, wäre es das Papier aus und eine neue Seite beginnen. Sie sind so gut wie sicher, dass Sie es nie brauchen werden.

http://en.wikipedia.org/wiki/Form_feed

+0

^L formfeed wird bis heute als Trennzeichen in Klartextdateien verwendet, etwa als Quellcode für Computerprogrammiersprachen.Wenn eine Textdatei lang wird und die ersten, sagen wir, 568 Zeilen sind eine Art von Ding und die nächsten 729 Zeilen eine andere Art von Ding, dann fügen wir oft ein^L-Formfeed-Zeichen am Anfang von Zeile 569 ein und geben dem^L-Formfeed-Zeichen oft eine eigene Zeile.Manchmal werden^K-Tab und^L zusammen in diesem Abschnittseparator-Schema verwendet, wobei^K zum Trennen von Nebenabschnitten und^L zum Trennen von Hauptabschnitten verwendet werden. – optikos