Tach Leudde. Und wieder habe ich ein Problem...
Also, ich habe hier eine Funktion, die aus
ein
machen soll...
Hier der Source:
Alles anzeigen
Leider sehe ich bei dem, was dabei rauskommt, nur ein schwarzes
DOS-Fenster mit einem blinkenden _
Das war's...
Wenn ich statt einem \" oder ' ein anderes Zeichen eingebe,
funktioniert alles fehlerfrei.
Was mache ich falsch?
Also, ich habe hier eine Funktion, die aus
he, "hallo" hans
ein
he,%20%22hallo%22%20hans
machen soll...
Hier der Source:
Quellcode
- #include <iostream>
- #include <string>
- using namespace std;
- string cc_escape (string in) {
- string rep;
- string wit;
- int pos;
- int run = 1;
- while (true) {
- if (run == 1) {rep = "\""; wit = "%22";}
- else if (run == 2) {rep = "%"; wit = "%25";}
- else if (run == 3) {rep = "&"; wit = "%26";}
- else if (run == 4) {rep = "?"; wit = "%3F";}
- else if (run == 5) {rep = "="; wit = "%3D";}
- else if (run == 6) {rep = " "; wit = "%20";}
- else if (run == 7) {rep = "<"; wit = "%3C";}
- else if (run == 8) {rep = ">"; wit = "%3E";}
- else {break;}
- while (true) {
- pos = in.find(rep);
- if (pos == -1) {
- break;
- } else {
- in.erase(pos, rep.length());
- in.insert(pos, wit);
- }
- }
- run++;
- }
- return in;
- }
- int main (int argc, char *argv[]) {
- string test = "he, \"hallo\" hans";
- cout << cc_escape(test) << endl;
- system ("PAUSE");
- return 0;
- }
Leider sehe ich bei dem, was dabei rauskommt, nur ein schwarzes
DOS-Fenster mit einem blinkenden _
Das war's...
Wenn ich statt einem \" oder ' ein anderes Zeichen eingebe,
funktioniert alles fehlerfrei.
Was mache ich falsch?