#include <iostream>
#include <string>
int main()
{
std::string str = "t\tt\\";
std::cout << "Before: " << str << std::endl;
std::string::size_type pos = 0;
while ((pos = str.find_first_of("\t\n\\", pos)) != std::string::npos)
{
switch (str[pos])
{
case '\t':
str.replace(pos, 1, "\\t");
pos += 2;
break;
case '\n':
str.replace(pos, 1, "\\n");
pos += 2;
break;
case '\\':
str.replace(pos, 1, "\\\\");
pos += 4;
break;
}
}
std::cout << "After: " << str << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKaW50IG1haW4oKQp7CglzdGQ6OnN0cmluZyBzdHIgPSAidFx0dFxcIjsKCglzdGQ6OmNvdXQgPDwgIkJlZm9yZTogIiA8PCBzdHIgPDwgc3RkOjplbmRsOwoJCglzdGQ6OnN0cmluZzo6c2l6ZV90eXBlIHBvcyA9IDA7Cgl3aGlsZSAoKHBvcyA9IHN0ci5maW5kX2ZpcnN0X29mKCJcdFxuXFwiLCBwb3MpKSAhPSBzdGQ6OnN0cmluZzo6bnBvcykKCXsKICAgIAlzd2l0Y2ggKHN0cltwb3NdKQoJICAgIHsgCiAgICAJICAgIGNhc2UgJ1x0JzoKICAgICAgICAJICAgIHN0ci5yZXBsYWNlKHBvcywgMSwgIlxcdCIpOwogICAgICAgICAgICAJcG9zICs9IDI7CgkgICAgICAgICAgICBicmVhazsKICAgIAkgICAgY2FzZSAnXG4nOgogICAgICAgIAkgICAgc3RyLnJlcGxhY2UocG9zLCAxLCAiXFxuIik7CiAgICAgICAgICAgIAlwb3MgKz0gMjsKICAgICAgICAgICAgCWJyZWFrOwoJICAgICAgICBjYXNlICdcXCc6CiAgICAJICAgICAgICBzdHIucmVwbGFjZShwb3MsIDEsICJcXFxcIik7CiAgICAgICAgCSAgICBwb3MgKz0gNDsKICAgICAgICAgICAgCWJyZWFrOwoJCX0KCX0KCglzdGQ6OmNvdXQgPDwgIkFmdGVyOiAiIDw8IHN0ciA8PCBzdGQ6OmVuZGw7CgoJcmV0dXJuIDA7Cn0=