// ConsoleApplication6.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "stdlib.h"
#include "string.h"

bool SplitString(char *str, const char *delimiter, char **text);
bool SplitString(const char *delimiter, char **text);
bool SplitToNumber(char *str, const char *delimiter, int *number);
bool SplitToNumber(const char *delimiter, int *number);

int main()
{
	char text[20] = "x:23,y:12";
	char *name;
	int x;
	int y;

	if (SplitString(text, ":", &name) && SplitToNumber(",", &x))
	{
		if (strncmp(name, "x", 1) == 0)
		{
				if (SplitString(":", &name) && SplitToNumber(",", &y))
				{
					if (strncmp(name, "y", 1) == 0)
					{
						printf("x:%i y:%i\n", x, y);
					}
				}
		}
	}
	//while (token != NULL)
	//{
	//	//printf("%s\n", token);
	//	token = strtok(NULL, separator);
	//}

    return 0;
}

bool SplitString(char *str, const char *delimiter, char **substr)
{
	*substr = strtok(str, delimiter);
	if (*substr != NULL)
	{
		return true;
	}
	return false;
}

bool SplitString(const char *delimiter, char **substr)
{
	return SplitString(NULL, delimiter, substr);
}

bool SplitToNumber(char *str, const char *delimiter, int *number)
{
	char *numberstr;
	if (SplitString(str, delimiter, &numberstr))
	{
		*number = atoi(numberstr);
		return true;
	}
	return false;
}

bool SplitToNumber(const char *delimiter, int *number)
{
	return SplitToNumber(NULL, delimiter, number);
}
