Example #1
0
GString RemoveComments(const GString Str)
{
	GString Result;
	int k = 0;
	int AwatingEOL = 0;
	ptrdiff_t len = Str.length() - 1;

	for (ptrdiff_t i = 0; i < len; i++)
	{
		if (AwatingEOL)
		{
			if (Str[i] != '\n')
				continue;
			else
			{
				AwatingEOL = 0;
				continue;
			}
		}
		else
		{
			if (Str[i] == '/' && Str[i + 1] == '/')
			{
				AwatingEOL = true;
				continue;
			}
			else
			{
				Result.push_back(Str.at(i));
				k++;
			}
		}
	}

	Utility::ReplaceAll(Result, "[\\n\\r ]", "");
	return Result;
}