#include <iostream>
#include <string>
inline std::string unescape_string(const std::string &s)
{
std::string res;
for (size_t i = 0; i < s.length(); i++) {
if (s[i] == '\\')
i++;
if (i >= s.length())
break;
res += s[i];
}
return res;
}
inline std::string unescape_string2(const std::string &s)
{
std::string res;
for (size_t i = 0; i < s.length(); i++) {
if (s[i] == '\\')
i++;
res += s[i];
}
return res;
}
int main(void)
{
std::string s = "\\a\\b\\\\\a",
s2 = "this\\\\is\\\\a\\\\path\\\\";
std::cout << unescape_string(s) << std::endl;
std::cout << unescape_string2(s) << std::endl;
std::cout << unescape_string(s2) << std::endl;
std::cout << unescape_string2(s2) << std::endl;
return 0;
}