永发信息网

mfc中怎么把cstring变量放进已经定义好的结构体的char数组中

答案:2  悬赏:80  手机版
解决时间 2021-03-17 08:49
  • 提问者网友:暮烟疏雨之际
  • 2021-03-16 13:51
结构体:
typedef struct
{
char SCA[16];
char TPA[16];
char TP_PID;
char TP_DCS;
char TP_SCTS[16];
char TP_UD[161];
char index;
} SM_PARAM;
void CCommassistDlg::OnBtnHandsend()
{
// TODO: Add your control notification handler code here
CString m_strOut;
CString m_jsha;
UpdateData(TRUE);
GetDlgItemText(IDC_EDIT_TX,m_strOut);
UpdateData(TRUE);
GetDlgItemText(IDC_EDIT_JSHA,m_jsha);
//填充SM_PARAM结构体内容
SM_PARAM smParam;
smParam=CreateSM_PARAM(m_jsha,m_strOut);
我要利用CreateSM_PARAM函数把变量m_jsha,m_strOut分别放进char TPA[16]; char TP_UD[161]; 该怎么做?
SM_PARAM CreateSM_PARAM (CString m_jsha,CString m_strOut)
{
SM_PARAM *p;
p=NULL;
p = new SM_PARAM();
p->TPA = m_jsha;
p->TP_UD = m_strOut;
return *p;
}
我这样编写提示出错
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-03-16 14:17
具体代码参考如下:
SM_PARAM CreateSM_PARAM (CString m_jsha,CString m_strOut)
{
    //定义和申请空间写一起
    SM_PARAM *pSM = new SM_PARAM();
    //结构体初始化‘0x00’
    ::memset(pSM, 0x00, sizeof(SM_PARAM));
    //拷贝CString字符串数据到结构体
    strcpy(pSM->TPA,  (LPCTSTR)m_jsha);
    strcpy(pSM->TP_UD, (LPCTSTR)m_strOut);
    //提醒,由于返回的*pSM是堆上的空间,需要在外边释放.
    return *pSM;
}
全部回答
  • 1楼网友:爱难随人意
  • 2021-03-16 15:20
我是来看评论的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯