Spezielle Bedeutung von / oder ? in stringstreams?
-
Hallo zusammen,
ich habe einen ostringstream, in den ich Ausgaben schreibe. Die Ausgaben werden dann in eine Datei ausgegeben.
Der Code stammt nicht von mir, ich wollte nur eine Ausgabe in einen "Platzhalter" ändern.
Vorher stand an dieser Stelle "Wert1/Wert2", was ich durch "????/????" ersetzen wollte, da die beiden Werte nicht mehr vorhanden sind.
Die Logik ist folgende:
Ich schreibe die Werte in einen stringstream und rufe dann "view(field id,std::string value)" auf, wobei id das ausgabefeld und value den Ausgabetext spezifiziert. Ich rufe also beispielsweise "view(field,myStringStream.str())" auf.
Folgendes passiert:
strbuf.width(currField.width);
strbuf << "????/????" << ends;
view(currField, strbuf.str());Und was bekomme ich angezeigt?
"??????"Gut, denke ich mir, dann probieren wir es anders:
...
strbuf << "????//????" << ends;Resultat:
"??/????"
Daher die Frage: Haben ? oder / irgendwelche speziellen Bedeutungen, wenn sie in einem ostringstream benutzt werden? Ich bin da etwas verwirrt....
Gruss
Sid
-
ja , in String-Literalen sind '\'-Zeichen sog. Escape-Sequenzen ( Bsp.: '\n' in einem String = new Line ) , was '\?' genau bedeuted weiss ich spontan auch nicht.
-
Moin.
Nein, es war _kein_ Backslash, sondern ein normaler "Shift-7"-Slash.
ABER: Diese "normalen" Slashes werden auch in den sogenannten "Trigraphs" verwendet, mit denen man auch dann noch programmieren kann, wenn man keine [] oder {} (etc.) auf der Tastatur findet.
Und das war auch mein Problem, die Trigraphs werden IMMER ausgewertet, auch in Literalen.
Gruss
Sid