2016-07-11 22 views
0

Ich möchte gerne zwischen formatierter und unformatierter Ausgabe wechseln können. Aber für die write und read Anweisungen gibt es, soweit ich weiß, keinen Format-Bezeichner für unformatierte Ausgaben --- nur die Option, den Bezeichner zu entfernen. Muss ich eine if -Statement auf jeder read und write verwenden, um diese Flexibilität zu erreichen, oder gibt es einen besseren Weg um dies zu erreichen?Wie erreicht man einen "unformatierten" Formatbezeichner in Schreib-/Leseanweisungen?

+0

Sie sollten keine Tags in den Fragetitel einfügen, wenn es kein natürlicher Teil davon ist http://meta.stackexchange.com/questions/19190/should-questions-include-tags-in-their-titles –

Antwort

2

Unformatierte und formatierte E/A ist so unterschiedlich, dass Sie nur zwei Versionen Ihrer Unterprogramme oder ein großes if haben können. Vor allem, wenn Sie viele read und write Aussagen haben.

Wenn Sie bereits den C-Präprozessor verwenden, könnten Sie auch ein Makro für das Schreiben definieren und eine Include-Datei verwenden, um Code-Duplikation zu vermeiden, aber ich würde es nicht nur für diesen Zweck einführen.

Wenn Sie eigentlich formatiert und unformatiert in einer einzigen Datei mischen wollten, könnten Sie unformatierten Stream-Zugriff verwenden und Zeichenketten dort in den "formatierten" Teilen speichern. Oder schließen Sie, öffnen Sie erneut mit position="append" und ändern Sie Ihre form=.

+0

Ich hatte nicht die Absicht, sie zu mischen. In meinem Fall ist der Code außerhalb einiger weniger Lese-/Schreibanweisungen im Wesentlichen unverändert. Es ist hauptsächlich eine Frage der Geschwindigkeit gegenüber der Kompatibilität. If-Statements müssen den Job erledigen. –