[ create a new paste ] login | about

Link: http://codepad.org/bP6VCAkE    [ raw code | output | fork ]

C++, pasted on Jan 16:
#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;
}


Output:
1
2
3
4
ab\
ab\
this\is\a\path\
this\is\a\path\


Create a new paste based on this one


Comments: