// UTF8StringTest.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
//

#include "stdafx.h"
#include "conio.h"
#include "UTF8String.h"
#include "UTF8StringConvert.h"
#include "UTF8StringArray.h"
#include "UTF8StringTool.h"


int _tmain(int argc, _TCHAR* argv[])
{
	CUTF8String::EnableMemoryPool();
/*
	CUTF8String	str(_U8("123456789"));
	CUTF8String	str2(_U16("Replace a b apple xxxxbxxxx c bbb zzzzz"));

	str.Format(_U8("Test: %d, %s\n"), 10,  str2);

	printf("str %s\n", str);

	printf("CUTF8String %d\n", sizeof(CUTF8String));
	printf("str2 %s\n", _cnvMBCS(str2));

	printf("str2 %s\n", _cnvMBCS(str.Left(5)));
	printf("str2 %s\n", _cnvMBCS(str.Right(100)));
	printf("str2 %s\n", _cnvMBCS(str.Mid(-1, -1)));

	printf("str2 -%s-\n", _cnvMBCS(str.Trim()));

//	CUTF8StringFormat	test;
//	test.Format("Name = %s, Type = %d\n");


	str2.Replace(_U16("b"), _U16("あああ"));
	printf("str2 %s\n", _cnvMBCS(str2));
	TRACE_U8(_U16("str2 %s\n"), str2);

	str2.Replace(_U16("apple"), _U16("りんご"));
	printf("str2 %s\n", _cnvMBCS(str2));

	str2 += str;
	printf("str2 %s\n", _cnvMBCS(str2));

	str2 += str2;
	printf("str2 %s\n", _cnvMBCS(str2));

	str = str2 + str2;
	printf("str %s\n", _cnvMBCS(str));

	CUTF8String	str3;
	str3 = _cnvU8((LPCSTR)NULL);
	str3 = _cnvU16((LPCU8STR)NULL);

	str = _U8("Test1");
	str2 = _U8("Test2");
	str3 = str + str2;
	printf("str %s\n", _cnvMBCS(str3));

	CUTF8StringKeyPairArray	arr;
	arr.Add(CUTF8StringKeyPair(_U8("Test"), _U8("Data")));

	printf("CheckIsUTF8 : %d\n", CUTF8StringTool::CheckIsUTF8((LPCSTR)"あああああ", -1));
	printf("CheckIsUTF8 : %d\n", CUTF8StringTool::CheckIsUTF8((LPCSTR)_cnvU8("あああああ"), -1));

	printf("StrCount: %d\n", CUTF8String::GetGlobalStringCount());
*/
	_getch();
	return 0;
}

