C 查找字符串
2015-10-16 17:50
211 查看
/*---------------------------------------------------------------- 【函数介绍】: dsz 是否存在于sz中的位置 【入口参数】: sz 源字符串 dsz 目标字符串 【返回 值】: n 第一次匹配上dsz的下标 -1 未发现 -2 参数错误 【出口参数】: 【无】 -----------------------------------------------------------------*/ static int findstr(char *sz, char *dsz) { if (!sz || !sz[0] || !dsz || !dsz[0]) return -2; int ni = 0, ndi = 0; // 源字符串下标、目标字符串下标 赋初值为 0 while (sz[ni] != '\0' && dsz[ndi] != '\0') { if (sz[ni] == dsz[ndi]) // 字符匹配 ++ndi; // ----目标字符串下标后移 else // 不匹配 { ni = ni - ndi; // ----查找起始位置回退 ndi = 0; // ----目标字符串下标重置 0 } ++ni; // 源字符串下标后移 } return ni = dsz[ndi] == '\0' ? ni - strlen(dsz) : -1; }
相关文章推荐
- 咱家自己的vim配置
- ProgressDialog进度条对话框
- 一些小知识
- iOS开发011 ZSC图片浏览器
- 详解使用Python处理文件目录的相关方法
- hibernateTemplate常用方法总结
- CrystalDecisions.CrystalReports.Engine.ReportDocument 的類型初始設定式發生例外狀況 2147221164
- 最近
- ftp错误
- 20151015计算阶乘
- [unity3d]通过C#脚本操作游戏对象
- Ubuntu 下 编译 wxWidge 3.0源码 并安装
- MySql 查询优化
- IntelliJ IDEA14安装、配置教程
- Tomcat实现Session ID的持久化保存实现
- iOS开发010 tableView头部拉伸效果(类似QQ空间)
- make/makefile中的加号+,减号-和at号@的含义
- EventBus(二)
- Oracle中insert into select from用法、table (fn_split())用法、select中的as扩展替代字段用法、Oracle序列
- WINDOWS消息和窗口简介