VC++语法理解

1、TCHAR、Char和CString之间的转换:

TCHAR是MFC中对Char的封装,当字符集是unicode时是双字节wchar,在其他字符集下为单字节char。

WideCharToMultiByte

  函数功能:该函数映射一个unicode字符串到一个多字节字符串。
  函数原型:
  int WideCharToMultiByte(
  UINT CodePage, //指定执行转换的代码页
  DWORD dwFlags,
  LPCWSTR lpWideCharStr, //指定的宽字节字符串的缓冲区
  int cchWideChar, //指定由参数lpWideCharStr指向的缓冲区的字符个数
  LPSTR lpMultiByteStr, //指向接收被转换字符串的缓冲区
  int cchMultiByte, //指定由参数lpMultiByteStr指向的缓冲区最大值
  LPCSTR lpDefaultChar,
  LPBOOL pfUsedDefaultChar
  );
  参数:
   CodePage:指定执行转换的代码页,这个参数可以为系统已安装或有效的任何代码页所给定的值。你也可以指定其为下面的任意一值:
  CP_ACP:ANSI代码页;CP_MACCP:Macintosh代码页;CP_OEMCP:OEM代码页;
  CP_SYMBOL:符号代码页(42);CP_THREAD_ACP:当前线索ANSI代码页;
  CP_UTF7:使用UTF-7转换;CP_UTF8:使用UTF-8转换。 

char->TCHAR的转换:

char a[255];
TCHAR b[255];
int length = Mutilbytetowidechar(CP_ACP,0,a,strlen(a)+1,null,0);
Mutilbytetowidechar(CP_ACP,0,a,strlen(a)+1,b,length);
TCHAR->char的转化:

char a[255];
TCHAR b[255];
int length = Widebytetomutilchar(CP_ACP,0,b,strlen(b)+1,null,0);
Mutilbytetowidechar(CP_ACP,0,b,strlen(b)+1,a,length);

CString->TCHAR * 或 char*的转换:

CString cs = "abdcd";
int length = cs.GetLength();
TCHAR tch[length+1];
lstrcpy(tch,cs.GetBuffer(length));
cs.RealeseBuffer();	 
CString->const char*的转换:

CString类提供一个operator LPCTSTR把CString类型转换为LPCTSTR类型。

2、构造函数、copy构造和assignment构造


3、静态数据成员和函数













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值