找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 102|回复: 0

[源码] 是否还在为字符型-文本型-字符型A-文本型A转换头疼来看看这里

[复制链接]

49

主题

49

回帖

408

积分

超级版主

积分
408
发表于 2024-11-6 08:38:54 | 显示全部楼层 |阅读模式
本帖最后由 易团雪 于 2024-11-6 08:42 编辑
  1. 类 字符转换类
  2. {
  3.         私有
  4.         char *m_char
  5.         wchar_t *m_wchar
  6.         公开
  7.         函数 构造()
  8.         {
  9.                 m_char = NULL
  10.                 m_wchar = NULL
  11.         }
  12.         函数 析构()
  13.         {
  14.                 释放()
  15.         }
  16.         //@备注 将字符型指针转到字符型A指针,自动释放内存.英文名:WcharToChar,类似:W2A_
  17.         函数 char* 字符型2字符型A(const wchar_t* wp)
  18.         {
  19.                 释放();
  20.                 #嵌入代码
  21.                 int len = WideCharToMultiByte(CP_ACP, 0, wp, wcslen(wp), NULL, 0, NULL, NULL);
  22.                 m_char = new char[len + 1];
  23.                 WideCharToMultiByte(CP_ACP, 0, wp, wcslen(wp), m_char, len, NULL, NULL);
  24.                 m_char[len] ='\0';
  25.                 return m_char;
  26.                 #嵌入代码_结束
  27.         }
  28.         //@备注 将字符型A指针转到字符型指针,自动释放内存.英文名:CharToWchar,类似:A2W_
  29.         函数 wchar_t* 字符型A2字符型(const char* c)  
  30.         {
  31.                 释放()
  32.                 #嵌入代码
  33.                 int len = MultiByteToWideChar(CP_ACP, 0, c, strlen(c), NULL, 0);
  34.                 m_wchar = new wchar_t[len + 1];
  35.                 MultiByteToWideChar(CP_ACP, 0, c, strlen(c), m_wchar, len);
  36.                 m_wchar[len] ='\0';
  37.                 return m_wchar;
  38.                 #嵌入代码_结束
  39.         }
  40.         //@备注 释放指针,自动释放内存.英文名:Release
  41.         函数 void 释放()
  42.         {
  43.                 if (m_char)
  44.                 {
  45.                         delete m_char;
  46.                         m_char = NULL;
  47.                 }
  48.                 if (m_wchar)
  49.                 {
  50.                         delete m_wchar;
  51.                         m_wchar = NULL;
  52.                 }
  53.         }
  54.         //@备注 将文本型A转到字符型A指针,自动释放内存.英文名:CXTextAToChar
  55.         函数 char* 文本型A2字符型A(const 文本型A& s)
  56.         {
  57.                 return (char*)s.取地址()
  58.         }
  59.         //@备注 将文本型转到字符型A指针,自动释放内存.英文名:CXTextToChar
  60.         函数 char* 文本型2字符型A(const 文本型& ws)
  61.         {
  62.                 const wchar_t *wp = ws.取地址();
  63.                 return 字符型2字符型A(wp);
  64.         }
  65.         //@备注 将文本型转到字符型指针,自动释放内存.英文名:CXTextToWchar
  66.         函数 wchar_t* 文本型2字符型(const 文本型& ws)
  67.         {
  68.                 return (wchar_t*)ws.取地址();
  69.         }
  70.         //@备注 将文本型A转到字符型指针,自动释放内存.英文名:CXTextAToWchar
  71.         函数 wchar_t* 文本型A2字符型(const 文本型A& s)
  72.         {
  73.                 const char *p = s.取地址();
  74.                 return 字符型A2字符型(p);
  75.         }
  76.         //@备注 将文本型转到文本型A,自动释放内存.英文名:CXTextToCXTextA
  77.         函数 文本型A 文本型2文本型A(const 文本型& ws)
  78.         {
  79.                 文本型A s
  80.                 char *p = 文本型2字符型A(ws)
  81.                 s.append(p)
  82.                 return s
  83.         }
  84.         //@备注 将文本型A转到文本型,自动释放内存.英文名:CXTextAToCXText
  85.         函数 文本型 文本型A2文本型(const 文本型A& s)  
  86.         {
  87.                 文本型 ws
  88.                 wchar_t *wp = 文本型A2字符型(s)
  89.                 ws.append(wp)
  90.                 return ws
  91.         }
  92. }
复制代码
以上复制右键-扩展-将花括号转为缩进即可
注:部分转换炫语言默认就支持如:字符型2文本型,并且前面两个命名基础模块里有名字叫A2W_和W2A_
以上供参考和学习
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|炫语言 | 炫彩界面库 | 用户所需, 正是我所做! ( 鄂ICP备2023014763号-1 )

GMT+8, 2024-12-4 16:11 , Processed in 0.073354 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表