TrueCrypt代码 之 编码转换

来源:互联网 发布:门诊挂号软件 编辑:程序博客网 时间:2024/05/29 18:04

直接上代码


// Convert.h#pragma onceLPSTR  MYW2UTF(LPCWSTR _W, LPSTR _A);LPWSTR MYUTF2W(LPCSTR _A, LPWSTR _W);LPSTR  MYW2A(LPCWSTR _W, LPSTR _A);LPWSTR MYA2W(LPCSTR _A, LPWSTR _W);LPSTR  MYT2A(LPCTSTR  _T, LPSTR _A);LPTSTR MYA2T(LPCSTR _A, LPTSTR  _T);LPWSTR MYT2W(LPCTSTR  _T, LPWSTR _W);LPTSTR MYW2T(LPCWSTR _W, LPTSTR  _T);


//Convert.cpp#include "stdafx.h"#include "Convert.h"LPSTR  MYW2A(LPCWSTR _W, LPSTR _A){int nOutputStrLen = WideCharToMultiByte(CP_ACP, 0, _W, wcslen(_W), NULL, 0, 0, 0);if (nOutputStrLen != 0){nOutputStrLen = WideCharToMultiByte(CP_ACP, 0, _W, wcslen(_W), _A, nOutputStrLen, 0, 0);}if (nOutputStrLen > 0){_A[nOutputStrLen] = '\0';}else{_A[0] = '\0';}return _A;}LPWSTR MYA2W(LPCSTR _A, LPWSTR _W){int nOutputStrLen = MultiByteToWideChar(CP_ACP, 0, _A, strlen(_A), NULL, 0);if (nOutputStrLen != 0){nOutputStrLen = MultiByteToWideChar(CP_ACP, 0, _A, strlen(_A), _W, nOutputStrLen);}if (nOutputStrLen > 0){_W[nOutputStrLen] = '\0';}else{_W[0] = '\0';}return _W;}LPSTR  MYW2UTF(LPCWSTR _W, LPSTR _A){int nOutputStrLen = WideCharToMultiByte(CP_UTF8, 0, _W, wcslen(_W), NULL, 0, 0, 0);if (nOutputStrLen != 0){nOutputStrLen = WideCharToMultiByte(CP_UTF8, 0, _W, wcslen(_W), _A, nOutputStrLen, 0, 0);}if (nOutputStrLen > 0){_A[nOutputStrLen] = '\0';}else{_A[0] = '\0';}return _A;}LPWSTR MYUTF2W(LPCSTR _A, LPWSTR _W){int nOutputStrLen = MultiByteToWideChar(CP_UTF8, 0, _A, strlen(_A), NULL, 0);if (nOutputStrLen != 0){nOutputStrLen = MultiByteToWideChar(CP_UTF8, 0, _A, strlen(_A), _W, nOutputStrLen);}if (nOutputStrLen > 0){_W[nOutputStrLen] = '\0';}else{_W[0] = '\0';}return _W;}LPSTR  MYT2A(LPCTSTR  _T, LPSTR _A){#if defined(_UNICODE)return MYW2A(_T, _A);#elsestrcpy(_A, _T);return _A;#endif}LPTSTR MYA2T(LPCSTR _A, LPTSTR  _T){#if defined(_UNICODE)return MYA2W(_A, _T);#elsestrcpy(_T, _A);return _A;#endif}LPWSTR MYT2W(LPCTSTR  _T, LPWSTR _W){#if defined(_UNICODE)wcscpy(_W, _T);return _W;#elsereturn MYA2W(_T, _W);#endif}LPTSTR MYW2T(LPCWSTR _W, LPTSTR  _T){#if defined(_UNICODE)wcscpy(_T, _W);return _T;#elsereturn MYW2A(_W, _T);#endif}


0 0
原创粉丝点击