ShareVB
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
26
11 janv. 2007 à 22:04
salut,
je vais le mettre ici d'abord pour test :
#include <windows.h>
DWORD WToUTF8(LPWSTR wText,LPSTR szBuff,DWORD cbBuff)
{
DWORD vSize = lstrlenW(wText);
ZeroMemory(szBuff,cbBuff*sizeof(char));
return WideCharToMultiByte(CP_UTF8, 0, wText, vSize, szBuff, cbBuff, NULL, NULL);
}
DWORD UTF8ToW(LPSTR wText,LPWSTR wszBuff,DWORD ccBuff)
{
DWORD vSize = lstrlenA(wText);
ZeroMemory(wszBuff,ccBuff*sizeof(WCHAR));
return MultiByteToWideChar(CP_UTF8, 0, wText, vSize, wszBuff, ccBuff);
}
DWORD WToOEM(LPWSTR wText,LPSTR szBuff,DWORD cbBuff)
{
DWORD vSize = lstrlenW(wText);
ZeroMemory(szBuff,cbBuff*sizeof(char));
return WideCharToMultiByte(CP_OEMCP, 0, wText, vSize, szBuff, cbBuff, NULL, NULL);
}
DWORD OEMToW(LPSTR wText,LPWSTR wszBuff,DWORD ccBuff)
{
DWORD vSize = lstrlenA(wText);
ZeroMemory(wszBuff,ccBuff*sizeof(WCHAR));
return MultiByteToWideChar(CP_OEMCP, 0, wText, vSize, wszBuff, ccBuff);
}
int _tmain(int argc, _TCHAR* argv[])
{
LPSTR sz = "EBArtSoft%20-%20éà éçڳگڦà¸";
char szBuff[256];
WCHAR wszBuff[256];
UTF8ToW(sz,wszBuff,256);
WToOEM(wszBuff,szBuff,256);
printf(
"Original : %s\n"
"LPSTR : %s\n"
"LPWSTR : %ws\n",
sz,
szBuff,
wszBuff
);
getchar();
return 0;
}
ShareVB