C++常用类型转换(在Unicode和MBCS之间相互转换函数)

简介: C++常用类型转换(在Unicode和MBCS之间相互转换函数)

1、C++在Unicode和MBCS之间相互转换函数


BOOL MByteToWChar(LPCSTR lpcszStr, LPWSTR lpwszStr, DWORD dwSize)
{
        DWORD dwMinSize;
        dwMinSize = MultiByteToWideChar(CP_ACP, 0, lpcszStr, -1, NULL, 0);
        if (dwSize < dwMinSize)
        {
                return FALSE;
        }
        MultiByteToWideChar(CP_ACP, 0, lpcszStr, -1, lpwszStr, dwMinSize);
        return TRUE;
}
BOOL WCharToMByte(LPCWSTR lpcwszStr, LPSTR lpszStr, DWORD dwSize)
{
        DWORD dwMinSize;
        dwMinSize = WideCharToMultiByte(CP_OEMCP, NULL, lpcwszStr, -1, NULL, 0, NULL, FALSE);
        if (dwSize < dwMinSize)
        {
                return FALSE;
        }
        WideCharToMultiByte(CP_OEMCP, NULL, lpcwszStr, -1, lpszStr, dwSize, NULL, FALSE);
        return TRUE;
}
使用方法:
wchar_t wText[255] = {L"你好"};
char sText[255]= {0};
WCharToMByte(wText,sText,sizeof(sText)/sizeof(sText[0]));//宽字节转多字节
MByteToWChar(sText,wText,sizeof(wText)/sizeof(wText[0]));//多字节转宽字节


2、std:string的格式化


#ifndef NOT_SAVE_IMAGE
  std::string name;
  std::stringstream ss1;
  ss1.str("");
  ss1 << "imageSrc";
  ss1 << index;
  ss1 << ".jpg";
  name = ss1.str();
  _saveImageMat(name, imageSrc);
  ss1.str("");
  ss1 << "imageDst";
  ss1 << index;
  ss1 << ".jpg";
  name = ss1.str();
  _saveImageMat(name, imageDst);
#endif
void CGPUTest::_saveImageMat(std::string path, const cv::Mat& img)
{
  //根据扩展名来决定储存jpg还是bmp
  if (path.find("jpg") != path.npos)//找到了jpg,一个特别的标志c++中用npos表示
  {
  vector<int> compression_params;
  compression_params.push_back(cv::IMWRITE_JPEG_QUALITY);//选择jpeg
  compression_params.push_back(100);//在这个填入你要的图片质量,默认值是95,100代表满分
  cv::imwrite(path, img, compression_params);//根据路径,保存为jpg格式
  }
  else
  {
  cv::imwrite(path, img);//根据路径,保存为bmpg格式
  }
}
相关文章
|
4天前
|
存储 Java
JAVA字符串与其他类型数据的转换
JAVA字符串与其他类型数据的转换
42 4
|
4天前
两个方法实现 任意两个进制间相互转换
两个方法实现 任意两个进制间相互转换
12 0
两个方法实现 任意两个进制间相互转换
|
4天前
|
存储 Shell C语言
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
18 0
|
4天前
|
JavaScript
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
21 0
|
5月前
|
C语言
C 语言实例 - 二进制与十进制相互转换
C 语言实例 - 二进制与十进制相互转换
34 2
|
9月前
|
存储 Python
什么是数据类型,都有什么,如何转换
什么是数据类型,都有什么,如何转换
113 0
|
10月前
|
JavaScript 前端开发
数组和字符串的相互转换
1.Array.join()方法 将数组的每一项用指定字符连接形成一个字符串。默认连接字符为 “,” 逗号。 注:将字符串转化为数组的String.split(“分隔符”)与Array.join(“分隔符”)正好相反;
|
11月前
|
C语言 C++
C++——数据类型之间的转换
C++——数据类型之间的转换
|
JavaScript
数组与字符串相互转换
js数组与字符串相互转换
118 0
数据类型-转换-隐式转换和显式转换
数据类型-转换-隐式转换和显式转换