MFC CString 查找函数使用的三个失误
2012-11-28 10:05
363 查看
// TODO: Add your control notification handler code here //打开hdr文件(因为以前判断过,所以知道这个文件肯定存在能打开) CStdioFile hdrFile; hdrFile.Open("d:\\1.txt",CFile::modeReadWrite); //验证hdr文件 CString strHdrLine; CString sip;CString spt;CString dip;CString dpt;CString ctm; CString pictureName; while(hdrFile.ReadString(strHdrLine)) { int start=strHdrLine.Find(_T(":")); int end=strHdrLine.FindOneOf(_T(";")); CString val=strHdrLine.Mid(start+2,end-start); CString fre=strHdrLine.Left(4); if(fre.Compare("_sip")==0) { sip=val;AfxMessageBox("sip:"+val); } else if(fre.Compare("_spt")==0) { spt=val;AfxMessageBox("spt:"+val); } else if(fre.Compare("_dip")==0) { dip=val;AfxMessageBox("dip:"+val); } else if(fre.Compare("_dpt")==0) { dpt=val;AfxMessageBox("dpt:"+val); } else if(fre.Compare("_ctm")==0) { ctm=val;AfxMessageBox("ctm:"+val); } } //关闭hdr文件
上面的这个代码是正确的
以前的代码是错误的
错误点1:在使用find这个函数的时候,一定要用_T("")这个东西,不然的话“:”和“;”可能会匹配不出来
错误点2:mid,第一个参数是开始的位置,第二个参数是截取的字符串的长度
错误点3:find函数如果找到的话,返回的是位置,可能是0,可能是整数,所以判断查找到的表达是find()>=0
相关文章推荐
- MFC中的cstring成员函数使用
- MFC中UpdateData()函数的使用
- 使用IDA定位基于MFC的CrackMe的按钮函数-----实践篇(二)
- sqlserver中cast,convert,datepart,left,right这三个函数的使用讲解
- VS2010/MFC编程入门之五十四(Ribbon界面开发:使用更多控件并为控件添加消息处理函数)
- MFC dll 类型是 共享 规则 导出对话框函数使用出错解决办法
- 查找数据库中重复的值的数据,having的使用,count(1),sum等聚会函数
- 非MFC项目使用CString及如何打印
- CString转为char* unicode,MFC中的使用
- MFC中MessageBeep与sndPlaySound播放声音函数使用
- 工作问题积累(十五)CString函数使用大全(转)
- 【计算机图形学课程】一.MFC基本绘图函数使用方法
- 使用concat函数完成like参数化查找
- php中date()、mktime()、strtotime()三个函数使用
- VS2012 MFC中CString的Format方法使用
- MFC中UpdateData()函数的使用
- 使用IDA定位基于MFC的CrackMe的按钮函数-----实践篇(一)
- MFC - 通过spy++查找应用程序菜单对应函数的方法
- 使用CString 的 SpanIncluding 函数判断字符串是否全为数字
- MFC的窗口类虚函数PostNcDestroy使用应注意