首页 > 其他 > 详细

vs下字符串的转换

时间:2015-03-23 10:48:21      阅读:160      评论:0      收藏:0      [点我收藏+]
 1     CString      csSenMsg;            // 要发送的消息 
 2 
 3     m_edt_sendMsg.GetWindowText(csSenMsg);     // 获得编辑框内容
 4     
 5     if(csSenMsg=="")
 6     {
 7         AfxMessageBox(_T("空字符串,不能发送!"));
 8         return;
 9     } 
10     CStringA  _csSenMsg;
11     _csSenMsg = csSenMsg;
12      
13     m_lst_log.InsertString(m_lst_log.GetCount(),_T("你发出的信息如下:"));
14     int i = m_lst_log.GetCount();
15     m_lst_log.InsertString( m_lst_log.GetCount(),csSenMsg );
16     int j = m_lst_log.GetCount();
17     m_lst_log.SetCurSel(m_lst_log.GetCount()-1);
18  
19     //*(m_pCSocRecv->m_pCArcOut)<< csSenMsg;  // 失败方法之一
20     m_pCSocRecv->m_pCArcOut->Write(_csSenMsg.GetBuffer(),_csSenMsg.GetLength());
21     m_pCSocRecv->m_pCArcOut->Flush();

正确代码如上:

遇到问题之1:

UNICODE字符编码与ANSI的转换,解决方法见第10、11行。

 

遇到问题之2:

转换后的ANSI编码,用“流输出”(第19行)出错,发送的数据多出一个首字符,代表这次传输的字符个数,解决方法见第20行。

遇到问题之3:

listbox的addstring()函数和Insertstring()函数的区别,前者会自动按行首字符排序所有列表对象,例如:“1111”一定会插入到“2111”前面,数字一定会插入到字母前面。解决方法,用后者替代前者。

vs下字符串的转换

原文:http://www.cnblogs.com/yuwl26/p/4358931.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!