// console_test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include<iostream>
#include <vector>
#include <atlstr.h>
#include <Windows.h>
using namespace std;
#define ABECFG_ENABLE_CJK_INPUT
// UTF-8
char* CreateUTF8TextInitWithString(CString strValue)
{
char *buffer = NULL;
int length;
#ifdef _UNICODE
length = WideCharToMultiByte(CP_UTF8, 0, strValue, -1, NULL, 0, NULL, NULL);
#else
return NULL;
#endif
if (length <= 0)
{
return NULL;
}
buffer = new char[length];
if (buffer == NULL)
{
return NULL;
}
ZeroMemory(buffer, length);
#ifdef _UNICODE
WideCharToMultiByte(CP_UTF8, 0, strValue, -1, buffer, length, NULL, NULL);
#else
strcpy_s(buffer, length, strValue);
#endif
return buffer;
}
char* CreateTextInitWithString(CString strValue)
{
char *buffer = NULL;
int length;
length = strValue.GetLength();
//#if defined(CM215F) || defined(M215FW) || defined(FX_M218FW) || defined(FX_M215FW)
#if defined(ABECFG_ENABLE_CJK_INPUT)
// UTF-8
length=length*2+2;
#endif
if (length <= 0)
{
return NULL;
}
length++;
buffer = new char[length];
if (buffer == NULL)
{
return NULL;
}
ZeroMemory(buffer, length);
#ifdef _UNICODE
WideCharToMultiByte(CP_ACP, 0, strValue, -1, buffer, length, NULL, NULL);
#else
strcpy_s(buffer, length, strValue);
#endif
return buffer;
}
int main()
{
CString strTest(TEXT("TEST.."));
char* pChr = CreateUTF8TextInitWithString(strTest);
if (NULL != pChr)
{
cout << pChr << endl;
}
return 0;
}