V++ MFC CEdit输出数组 UNICODE TO ASCII码

本文介绍了一个在MFC环境下将Unicode字符串转换为ASCII码并显示在编辑框中的具体实现方法。通过示例代码展示了如何从编辑框获取文本、进行转换,并将结果输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MFC怎么在静态编辑框中输出数组

//字符转ASCII码
void CUTF8Dlg::OnBnClickedButtonCharAscii()
{
 // TODO: 在此添加控件通知处理程序代码
 UpdateData(TRUE);
 int length = 0;
 CStringW sAscii;
 char* pAscii;
 char aa[1024];
 GetDlgItem(IDC_EDIT_CHINA)->GetWindowText(sAscii);
 pAscii = ConvertUnicode2Ascii(sAscii);  //调用Unicode转ASCII函数

 while (TRUE)
 {
  if (*pAscii == 0)
  {
   break;
  }
  else
  {
   aa[length] = *pAscii;
   length++;
  }
  pAscii++;
 }
 CString bb[1024];
 for (int j = 0; j< length; j++)
 {
  bb[j].Format(_T("%x "),aa[j]);  /把十六进制数组添加到字符串 

  byUTF8 += bb[j];
 }
 UpdateData(FALSE);  //显示输出结果
}

 

//UNICODE TO ASCII
char* CUTF8Dlg::ConvertUnicode2Ascii(CStringW &instr)
{
 wchar_t * wstr = instr.GetBuffer();
 int ulen = ::WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);
 char* date = new char[ulen+1];
 memset(date,0,sizeof(char)*(ulen+1));//格式化字符串
 WideCharToMultiByte(CP_ACP, 0, wstr, -1, date, ulen, NULL, NULL);
 date[ulen+1] = '\0';//最后一字解设置结束符
 return date;
}

转载于:https://www.cnblogs.com/ransn/p/8035487.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值