Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Die Rezepte in diesem Kapitel beschäftigen sich mit der Verarbeitung von Strings und von Textdateien. In den meisten C++-Programmen ist es, unabhängig von der Aufgabe des Programms, zu einem bestimmten Grad notwendig, mit Strings und mit Textdateien zu arbeiten. Trotz der vielen verschiedenen Anwendungsgebiete, für die C++-Programme geschrieben werden, sind die Probleme dennoch meist dieselben. Für Strings sind das: Trimmen, Füllzeichen anhängen, Suchen, Auftrennen in Teil-Strings usw.; für Textdateien: Zeilen umbrechen, umformatieren, durch Trennzeichen gruppierte Informationen einlesen und vieles mehr. Die folgenden Rezepte bieten für viele dieser häufig vorkommenden Probleme Lösungen an, für die in der Standardbibliothek von C++ keine fertigen Standardroutinen existieren.
Die Routinen der Standardbibliothek sind portabel, standardisiert und im Allgemeinen mindestens genauso effizient wie entsprechende selbst gestrickte Lösungen, weshalb ich in den folgenden Beispielen Routinen aus der Standardbibliothek selbst geschriebenem Code meist vorgezogen habe. Die Standardbibliothek enthält ein mächtiges Framework zur Manipulation von Strings und Textdaten, das hauptsächlich aus den Klassen-Templates basic_string (für Strings), basic_istream und basic_ostream (für die Ein- und Ausgabe mit Text-Streams) besteht. Beinahe alle in diesem Kapitel vorgestellten Lösungen verwenden oder erweitern diese Klassen-Templates. In den Fällen, in denen diese Klassen-Templates keine geeigneten Hilfsmittel bereitstellen, habe ich mich einem anderen Teil der Standardbibliothek zugewandt, der jede Menge generische, vorgefertigte Lösungen bereitstellt, nämlich den Algorithmen und Containern.