| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1630 人关注过本帖
标题:关于CString::GETAT提取问题,知道的朋友看下问题出在哪
只看楼主 加入收藏
whp1124
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2010-8-3
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:2 
关于CString::GETAT提取问题,知道的朋友看下问题出在哪
看帖的朋友你好:
为什么我用GETAT,却提取不了指定位数的字符。
比如str="abcdefg",我运行后在B对话框还是显示abcdefg


CString str; //全局变量
void CZzDlg::OnButton1()
{
    // TODO: Add your control notification handler code here
    UpdateData(TRUE);
    str=m_e1;
    str.GetAt(1)&&str.GetAt(3)&&str.GetAt(5);
    m_e2=""+str+"";
    UpdateData(FALSE);

}
源代码
zz.zip (27.87 KB)
搜索更多相关主题的帖子: 朋友 对话框 源代码 
2011-04-06 11:05
yuccn
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:20 
你的本意是这样吧:
void CZzDlg::OnButton1()
{
    UpdateData(TRUE);
    str = m_e1.GetAt(1);
    str += m_e1.GetAt(3);
    str += m_e1.GetAt(5);
    m_e2=""+str+"";
    UpdateData(FALSE);
}


我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-04-06 13:36
whp1124
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2010-8-3
收藏
得分:0 
对,是这个意思,
但是如果我现在是做串口通信,没有m_e1这个控件变量,单片机返回了一个str,比如"01 03 01 02 00 00 00 00 01"
我要提取第14.17.20.23.26位,并将25位的"0"用SETAT替换为".";将他显示在m_e2这个窗口也就是"0000.1"
我直接写
    str =str.GetAt(14);
    str +=str.GetAt(17);
    str += str.GetAt(20);
    str +=str.GetAt(23);
    str += str.SetAt(25,'.');
    str +=str.GetAt(26);

    - 0 error(s), 0 warning(s)
但一运行就说应用程序错误。麻烦再指点下
2011-04-06 14:33
快速回复:关于CString::GETAT提取问题,知道的朋友看下问题出在哪
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044516 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved