[ create a new paste ] login | about

Link: http://codepad.org/dKGVa5Pa    [ 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 = "a\\";


	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\
a
a


Create a new paste based on this one


Comments: