habe ich ein neues Projekt mit dem folgende Codesegment:Unbekanntes Meta-Zeichen in C/C++ - String-Literal?
char* strange = "(Strange??)";
cout << strange << endl;
in folgenden Ausgabe führt:
(merkwürdige]
So übersetzt '??)' -> ']'
Debuggen zeigt, dass mein Char * String-Literal ist eigentlich dieser Wert und es ist keine Stream-Übersetzung. Dies ist offensichtlich keine Meta-Zeichenfolge, die ich je gesehen habe. Eine Art von Unicode oder eine breite Char-Sequenz vielleicht? Ich glaube aber nicht ... Ich habe versucht, alle zugehörigen Projekteinstellungen ohne Erfolg zu deaktivieren.
Hat jemand eine Erklärung?
- Suche: 'Fragezeichen, Fragezeichen, in der Nähe Klammer' c C++ Stringliteral
Diese Frage könnte Ihnen helfen: http://stackoverflow.com/questions/1234582/purpose-of-trigraph-sequences-in-c –
danke ... Ich habe die Suche am Ende meiner Post in den Hoffnungen hinzugefügt Diese zukünftigen Suchvorgänge würden dem doppelten Fragezeichenkonstrukt entsprechen. Diese Design-Entscheidung (indem sie als Standard aktiviert wird) ist in einem Wort: "verrückt". Belassen Sie Trigraphen für das OS/UI, das ich sage. – Marius
Speziell für die Fälle, in denen das OS/UI nicht ausreichend war, wurden spezielle Trigramme hinzugefügt. Denken Sie daran, dass C aus einer Zeit stammt, als die Benutzeroberfläche eine 9600-Baud-Terminal-Verbindung war und ASCII weit davon entfernt war, universell zu sein. – caf