MFC中,替换文本编辑框里面字符串的某段问题。

我的文本编辑框为IDC_EDIT2_ORDER,用来接收串口发送过来的字符串。现在接收到了一段字符串为***Hitanykeytostopautoboot:3(2... 我的文本编辑框为IDC_EDIT2_ORDER,用来接收串口发送过来的字符串。现在接收到了一段字符串为***Hit any key to stop autoboot: 3 ( 2  1  0***),星号表示其他字符串,括号里面表示将要接收到的字符串,3  2  1  0表示在读秒。我现在想把Hit any key to stop autoboot: 3替换成Hit any key to stop autoboot: 3=>,但是却出现了Hit any key to stop autoboot: 3=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=> 2  1  0***,的情况,请问是什么原因,我只想出现一个=>。求指点
我的相关程序如下:
CString str1="Hit any key to stop autoboot: 3";
CString str11="Hit any key to stop autoboot: 3=>";
string::size_type idx1 = m_ORDER.Find(str1);
if ( idx1 != string::npos )
{
m_ORDER.Replace(str1,str11);
}
这个是参考了网上的资料写的。
展开
 我来答
wind556
2014-11-25 · TA获得超过250个赞
知道小有建树答主
回答量:673
采纳率:50%
帮助的人:281万
展开全部
CString str1="Hit any key to stop autoboot: 3";
CString str11="Hit any key to stop autoboot: 3=>";
m_ORDER.Replace(str1,str11);
其他的代码都是多余的
至于出现好多个那个符号 是因为你调用多次的缘故 不想修改别的地方就改为
CString str1="Hit any key to stop autoboot: 3";
CString str11="Hit any key to stop autoboot: 3=>";
if(m_ORDER.Find(str11)==-1)m_ORDER.Replace(str1,str11);
updatedata(false);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式