C++ & cout & Slash & url
-
Wie kann man in C++ urls, die ja viele Slash enthalten, welcher in C++ als Operator verwendet wird, elegant als String abbilden?
Muss ich da wirklich bei jedem Slash einen weiteren Slash anfügen, um C++ zu sagen, daß er das als Slash und nicht als Operator betrachten soll oder geht das, die Umwandlung einer URL in einen String auch irgendwie einfacher?
#include <iostream> using namespace std; void main(){ String geheim = "Die geheime URL lautet "; String url="http://www.youtube.com/watch?v=eDd03MKns9w"; cout << geheim << url << endl; }
-
Es geht genau so, wie Dein Beispiel zeigt.
-
Du denkst vermutlich an den Backslash '\', eines der wenigen Zeichen, die selbst innerhalb eines Stringliterals eine Sonderbedeutung haben.
-
Nur der Backward-Slash leitet in Stringliteralen eine Escape-Sequenz ein. Und da AFAIK sowieso überall auch ein Forward-Slash akzeptiert wird, sehe ich kein Problem.
-
In URLs werden nicht "auch Forward Slashes akzeptiert", da sind _nur_ Forward Slashes zulässig. Backslashes müsstest du enkodieren. (%5C IIRC.)
-
SlashZwo schrieb:
#include <iostream> using namespace std; void main(){ String geheim = "Die geheime URL lautet "; String url="http://www.youtube.com/watch?v=eDd03MKns9w"; cout << geheim << url << endl; }
Was ist daran jetzt geheim?
-
Ach, bevor ich es vergesse: Das ist kein gültiges ISO-C++ (
::main()
mussint
als Rückgabewert haben, und die Klasse String wird nicht durch<iostream>
bereitgestellt (nicht, dass die Standardbibliothek sie überhaupt bereitstellen würde)).