2017-08-31 1 views
0

ich eine Zeichenfolge aus einem Beitrag erhalten, aber die Saite kommt wie folgt aus:?Convert string " u0026" zu "&" in C++

re = 784D30879 \ u0026rr = POH0525 \ u0026tt = 525,100000 \ u0026id = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4

Und ich will:

re = 784D30879 & rr = POH0525 & tt = 525,100000 & id = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4

Ich verwende eine Funktion zum Ersetzen e-Zeichen in einem String, aber es sendet mir die folgende Fehlermeldung: a universal character name cannot designate a character in the basic character set

So rufe ich die Funktion:

message = replaceChars(message, string("\u0026"), string("&")); 

Und dies ist die Funktion:

string replaceChars(string stringToChange, const string& charToChange, const string& newChar) 
{ 
    size_t initialPosition = 0; 

    while((initialPosition= stringToChange.find(charToChange, initialPosition)) != string::npos) 
    { 
     stringToChange.replace(initialPosition, charToChange.length(), newChar); 
     initialPosition += newChar.length(); 
    } 

    return stringToChange; 
} 

Ich kann das verstehen Error.

+0

Wo Sie die Zeichenfolge bekommen werden, und ist es möglich, es zu erhalten, * nicht * Et-Zeichen zu entkommen? –

Antwort

3

sollten Sie "\\u0026" anstelle von "\u0026"