Rohen und gegarten Stringverarbeitung in C ++

Es gibt viele Möglichkeiten, um Literale definieren. Natürlich wirkt sich die Art der Informationen, die eine wörtliche ist die am häufigsten verwendete Methode. Allerdings Literale können auch roh oder gekocht werden. EIN roh literal empfängt von der Anwendungsquelle Eingang und interpretiert sie in keiner Weise. Das bedeutet, dass die Informationen, Zeichen für Zeichen interpretiert wird, genau wie der Absender sie vorgelegt hat.

Gekocht Literale des Absenders Eingabe interpretieren und automatisch alle erforderlichen Konvertierungen durchführen, um die Daten verwendbar für den Empfänger zu machen.

Der einfachste Weg, dieses Prinzip in Aktion zu sehen ist durch ein Beispiel. Das RawAndCooked Beispiel demonstriert die Technik gezeigt ist, verwendet entweder roh oder gekocht String-Verarbeitung zu erstellen.

#einschließen using namespace std-int main () {auto Gekochte = "(Hallo r nEs)" - auto Raw = R "(Hallo r nEs)" - cout lt; lt; Gekocht lt; lt; Endl-cout lt; lt; Roh lt; lt; endl-}

Die meiste Zeit, wenn Sie sehen die R n Kombination, wissen Sie, dass die Anwendung Ausgang ein Wagenrücklauf und Futterkombinationslinie. Dies ist die Methode zubereitet eine Zeichenfolge zu verarbeiten.

Die Zeichenfolge wird interpretiert und alle Escape-Zeichen umgewandelt in Steuerzeichen (Zeichen, die normalerweise als Befehle angesehen, sondern als Daten, beispielsweise der Wagenrücklauf). Beachten Sie jedoch, wie die Roh Saite erzeugt wird. Das R vor dem String weist den Compiler die Variable ohne Interpretieren des Inhalts zu erstellen.

Hier ist die Ausgabe, die Sie aus diesem Beispiel sehen:

 (HelloThere) Hallo r nEs

Beachten Sie, dass die gekochten Form der Klammer der Ausgabe nicht, aber die Rohform nicht. Die Klammer wird als Teil der Rohform Eingabe erforderlich. Wie Sie sich vorstellen können, gibt das gekochte Form der R n Kombination als Steuerzeichen, während die Rohform die tatsächlichen Zeichen ausgibt.

Menü