mirror of
https://github.com/Kiritow/MiniEngine.git
synced 2024-03-22 13:11:22 +08:00
Fix compile error
This commit is contained in:
parent
f2d60629a0
commit
337694bd89
|
@ -3,14 +3,13 @@ using namespace std;
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
void _utf8_to_gb(const char* src, char* dst, int len)
|
int _utf8_to_gb(const char* src, char* dst, int len)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
WCHAR* strA;
|
WCHAR* strA;
|
||||||
int i= MultiByteToWideChar(CP_UTF8, 0, src, -1, NULL, 0);
|
int i= MultiByteToWideChar(CP_UTF8, 0, src, -1, NULL, 0);
|
||||||
if (i <= 0) {
|
if (i <= 0) {
|
||||||
printf("ERROR.");
|
return -1;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
strA = (WCHAR*)malloc(i * 2);
|
strA = (WCHAR*)malloc(i * 2);
|
||||||
MultiByteToWideChar(CP_UTF8, 0, src, -1, strA, i);
|
MultiByteToWideChar(CP_UTF8, 0, src, -1, strA, i);
|
||||||
|
@ -21,20 +20,19 @@ void _utf8_to_gb(const char* src, char* dst, int len)
|
||||||
}
|
}
|
||||||
if (ret <= 0) {
|
if (ret <= 0) {
|
||||||
free(strA);
|
free(strA);
|
||||||
return;
|
return -2;
|
||||||
}
|
}
|
||||||
|
|
||||||
free( strA );
|
free( strA );
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _gb_to_utf8(const char* src, char* dst, int len)
|
int _gb_to_utf8(const char* src, char* dst, int len)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
WCHAR* strA;
|
WCHAR* strA;
|
||||||
int i= MultiByteToWideChar(CP_ACP, 0, src, -1, NULL, 0);
|
int i= MultiByteToWideChar(CP_ACP, 0, src, -1, NULL, 0);
|
||||||
if (i <= 0) {
|
if (i <= 0) {
|
||||||
printf("ERROR.");
|
return -1;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
strA = (WCHAR*)malloc(i * 2);
|
strA = (WCHAR*)malloc(i * 2);
|
||||||
MultiByteToWideChar(CP_ACP, 0, src, -1, strA, i);
|
MultiByteToWideChar(CP_ACP, 0, src, -1, strA, i);
|
||||||
|
@ -46,17 +44,22 @@ void _gb_to_utf8(const char* src, char* dst, int len)
|
||||||
|
|
||||||
if (ret <= 0) {
|
if (ret <= 0) {
|
||||||
free(strA);
|
free(strA);
|
||||||
return;
|
return -2;
|
||||||
}
|
}
|
||||||
free(strA);
|
free(strA);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
string UTF8ToGBK(string UTF8String)
|
string UTF8ToGBK(string UTF8String)
|
||||||
{
|
{
|
||||||
int sz=UTF8String.size()*2/3+256;
|
int sz=UTF8String.size()*2/3+256;
|
||||||
auto gbkstr=new char[sz];
|
auto gbkstr=new char[sz];
|
||||||
memset(gbkstr,0,sz);
|
memset(gbkstr,0,sz);
|
||||||
|
|
||||||
_utf8_to_gb(UTF8String.c_str(),gbkstr,sz);
|
if(_utf8_to_gb(UTF8String.c_str(),gbkstr,sz)!=0)
|
||||||
|
{
|
||||||
|
return "[MiniEngine] UT8ToGBK Convert Failed";
|
||||||
|
}
|
||||||
|
|
||||||
string s((char*)gbkstr);
|
string s((char*)gbkstr);
|
||||||
|
|
||||||
|
@ -70,7 +73,10 @@ string GBKToUTF8(string GBKString)
|
||||||
auto utf8str=new char[sz];
|
auto utf8str=new char[sz];
|
||||||
memset(utf8str,0,sz);
|
memset(utf8str,0,sz);
|
||||||
|
|
||||||
_gb_to_utf8(GBKString.c_str(),utf8str,sz);
|
if(_gb_to_utf8(GBKString.c_str(),utf8str,sz)!=0)
|
||||||
|
{
|
||||||
|
return "[MiniEngine] GBKToUTF8 Convert Failed";
|
||||||
|
}
|
||||||
|
|
||||||
string s(utf8str);
|
string s(utf8str);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user