string str( "abc\r\ndefjh");
string replaceFunction(str)
{
string searchString( "\r\n" );
string replaceString( "<br>" );
cout << "str before replace: " << str << endl;
string::size_type pos = 0;
while ( (pos = str.find(searchString, pos)) != string::npos ) {
str.replace( pos, searchString.size(), replaceString );
pos++;
}
cout << "str after replace: " << str << endl ;
return str;
}
В консольке такая конструкция работает без вопросов, т.е заменяет управляющие символы на тег "<br>". Но не обрабатывает броузерную строку запроса содержащую те же управляющие символы("\r\n") , причем оные очень даже явно наблюдаются - "%0D%0A". С символом пробела (" ") замена срабатывает, т.е в функцию строка передается. В какую апстенку стучать?