|
本帖最后由 易团雪 于 2024-11-6 08:42 编辑
- 类 字符转换类
- {
- 私有
- char *m_char
- wchar_t *m_wchar
- 公开
- 函数 构造()
- {
- m_char = NULL
- m_wchar = NULL
- }
- 函数 析构()
- {
- 释放()
- }
- //@备注 将字符型指针转到字符型A指针,自动释放内存.英文名:WcharToChar,类似:W2A_
- 函数 char* 字符型2字符型A(const wchar_t* wp)
- {
- 释放();
- #嵌入代码
- int len = WideCharToMultiByte(CP_ACP, 0, wp, wcslen(wp), NULL, 0, NULL, NULL);
- m_char = new char[len + 1];
- WideCharToMultiByte(CP_ACP, 0, wp, wcslen(wp), m_char, len, NULL, NULL);
- m_char[len] ='\0';
- return m_char;
- #嵌入代码_结束
- }
- //@备注 将字符型A指针转到字符型指针,自动释放内存.英文名:CharToWchar,类似:A2W_
- 函数 wchar_t* 字符型A2字符型(const char* c)
- {
- 释放()
- #嵌入代码
- int len = MultiByteToWideChar(CP_ACP, 0, c, strlen(c), NULL, 0);
- m_wchar = new wchar_t[len + 1];
- MultiByteToWideChar(CP_ACP, 0, c, strlen(c), m_wchar, len);
- m_wchar[len] ='\0';
- return m_wchar;
- #嵌入代码_结束
- }
- //@备注 释放指针,自动释放内存.英文名:Release
- 函数 void 释放()
- {
- if (m_char)
- {
- delete m_char;
- m_char = NULL;
- }
- if (m_wchar)
- {
- delete m_wchar;
- m_wchar = NULL;
- }
- }
- //@备注 将文本型A转到字符型A指针,自动释放内存.英文名:CXTextAToChar
- 函数 char* 文本型A2字符型A(const 文本型A& s)
- {
- return (char*)s.取地址()
- }
- //@备注 将文本型转到字符型A指针,自动释放内存.英文名:CXTextToChar
- 函数 char* 文本型2字符型A(const 文本型& ws)
- {
- const wchar_t *wp = ws.取地址();
- return 字符型2字符型A(wp);
- }
- //@备注 将文本型转到字符型指针,自动释放内存.英文名:CXTextToWchar
- 函数 wchar_t* 文本型2字符型(const 文本型& ws)
- {
- return (wchar_t*)ws.取地址();
- }
- //@备注 将文本型A转到字符型指针,自动释放内存.英文名:CXTextAToWchar
- 函数 wchar_t* 文本型A2字符型(const 文本型A& s)
- {
- const char *p = s.取地址();
- return 字符型A2字符型(p);
- }
- //@备注 将文本型转到文本型A,自动释放内存.英文名:CXTextToCXTextA
- 函数 文本型A 文本型2文本型A(const 文本型& ws)
- {
- 文本型A s
- char *p = 文本型2字符型A(ws)
- s.append(p)
- return s
- }
- //@备注 将文本型A转到文本型,自动释放内存.英文名:CXTextAToCXText
- 函数 文本型 文本型A2文本型(const 文本型A& s)
- {
- 文本型 ws
- wchar_t *wp = 文本型A2字符型(s)
- ws.append(wp)
- return ws
- }
- }
复制代码 以上复制右键-扩展-将花括号转为缩进即可
注:部分转换炫语言默认就支持如:字符型2文本型,并且前面两个命名基础模块里有名字叫A2W_和W2A_
以上供参考和学习
|
|