⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringconvert.cpp

📁 sleuthit-2.09 一个磁盘的工具集
💻 CPP
字号:
// Common/StringConvert.cpp#include "StdAfx.h"#include "StringConvert.h"#ifndef _WIN32#include <stdlib.h>#endif#ifdef _WIN32UString MultiByteToUnicodeString(const AString &srcString, UINT codePage){  UString resultString;  if(!srcString.IsEmpty())  {    int numChars = MultiByteToWideChar(codePage, 0, srcString,       srcString.Length(), resultString.GetBuffer(srcString.Length()),       srcString.Length() + 1);    #ifndef _WIN32_WCE    if(numChars == 0)      throw 282228;    #endif    resultString.ReleaseBuffer(numChars);  }  return resultString;}AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage){  AString resultString;  if(!srcString.IsEmpty())  {    int numRequiredBytes = srcString.Length() * 2;    int numChars = WideCharToMultiByte(codePage, 0, srcString,       srcString.Length(), resultString.GetBuffer(numRequiredBytes),       numRequiredBytes + 1, NULL, NULL);    #ifndef _WIN32_WCE    if(numChars == 0)      throw 282229;    #endif    resultString.ReleaseBuffer(numChars);  }  return resultString;}#ifndef _WIN32_WCEAString SystemStringToOemString(const CSysString &srcString){  AString result;  CharToOem(srcString, result.GetBuffer(srcString.Length() * 2));  result.ReleaseBuffer();  return result;}#endif#elseUString MultiByteToUnicodeString(const AString &srcString, UINT codePage){  UString resultString;  for (int i = 0; i < srcString.Length(); i++)    resultString += wchar_t(srcString[i]);  /*  if(!srcString.IsEmpty())  {    int numChars = mbstowcs(resultString.GetBuffer(srcString.Length()), srcString, srcString.Length() + 1);    if (numChars < 0) throw "Your environment does not support UNICODE";    resultString.ReleaseBuffer(numChars);  }  */  return resultString;}AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage){  AString resultString;  for (int i = 0; i < srcString.Length(); i++)    resultString += char(srcString[i]);  /*  if(!srcString.IsEmpty())  {    int numRequiredBytes = srcString.Length() * 6 + 1;    int numChars = wcstombs(resultString.GetBuffer(numRequiredBytes), srcString, numRequiredBytes);    if (numChars < 0) throw "Your environment does not support UNICODE";    resultString.ReleaseBuffer(numChars);  }  */  return resultString;}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -