2017-08-31 16 views
0

に私はポストから文字列を取得していますが、文字列は次のように来るために:変換文字列 " u0026" "&" C++

再= 784D30879 \ u0026rr = POH0525 \ u0026tt = 525.100000 \? u0026id = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4

と私がしたい:?

再= 784D30879 & RR = POH0525 & TT = 525.100000 & ID = 0958567C-20DC-44B4-9FD0-1AD13453DEBF4

私は交換する機能を使用しています文字列内の電子の文字が、それは私に次のようなエラーが送信されます。a universal character name cannot designate a character in the basic character set

だから私は機能呼んでいる:

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

をそしてこれが関数である:

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; 
} 

私は理解してカントエラー。それは* *アンパサンドをエスケープしないように取得する

+0

"\\u0026"を使用する必要があり、それは可能ですか? –

答えて

3

あなたは代わりにあなたがから文字列を取得している"\u0026"