CString 赋值到结构数组的有关问题

CString 赋值到结构数组的问题。
本帖最后由 txdy077345 于 2014-04-16 09:37:04 编辑
  我有这么一个类。
   class Msg_Login
{
public:
int nType;  //消息类型
TCHAR chUserName[20];
TCHAR chUserPSW[16];
};

  我现在想把
  int nType = 1;
  CString strUserName = _T("admin");
  CString strUserPSW = _T("123");
  这些赋值到这个结构当中。
  Msg_Login MsgLogin;
  MsgLogin.nType = 1;
  接下来应该怎么将其它两个赋值到这个结构数组中?PS:我的环境是Unicode.
------解决方案--------------------
memcpy_s
------解决方案--------------------
既然使用的字符串, 最好是使用  TCHAR
   class Msg_Login
{
public:
int nType;  //消息类型
TCHAR chUserName[20];
TCHAR chUserPSW[16];
};
如果使用了TCHAR , 那么就可以这样赋值了.
_tcscpy_s(MsgLogin.chUserName, 20, strUserName);
_tcscpy_s(MsgLogin.chUserPSW, 16, strUserPSW);

如果你还是使用char, 环境又是UNICODE, 那就比较麻烦了.
需要先把 CString中的字符串转换成ASCII,   调用 WideCharToMultiByte .
然后再调用strcpy复制转换好的字符串.
------解决方案--------------------
memcpy