C语言 查找字符串子串 返回位置
来源:互联网 发布:数据库定时同步工具 编辑:程序博客网 时间:2024/06/01 07:13
主要的思路就是,不断的从母串 str1 中取出和子串长度相等的临时子串 temp_str,与子串 str2 进行比较。没有找到子串,返回 -1;成功找到子串,返回子串首字母在母串中的位置,该位置从 0 开始。
#include <stdio.h>#include <string.h>char temp_str[30]; // 临时子串void ReadStrUnit(char * str,char *temp_str,int idx,int len) // 从母串中获取与子串长度相等的临时子串{ int index = 0; for(index; index < len; index++) { temp_str[index] = str[idx+index]; } temp_str[index] = '\0';}int GetSubStrPos(char *str1,char *str2){ int idx = 0; int len1 = strlen(str1); int len2 = strlen(str2); if( len1 < len2) { printf("error 1 \n"); // 子串比母串长 return -1; } while(1) { ReadStrUnit(str1,temp_str,idx,len2); // 不断获取的从 母串的 idx 位置处更新临时子串 if(strcmp(str2,temp_str)==0)break; // 若临时子串和子串一致,结束循环 idx++; // 改变从母串中取临时子串的位置 if(idx>=len1)return -1; // 若 idx 已经超出母串长度,说明母串不包含该子串 } return idx; // 返回子串第一个字符在母串中的位置}int main(){ char *str1 = "abcdefghijk"; char *str2 = "def"; int i = 0; i = GetSubStrPos(str1,str2); if( i<0 ) { printf("not found\n"); } else { printf("i = %d\n",i); } return 0;}
0 0
- C语言 查找字符串子串 返回位置
- C语言字符串查找位置
- 在已知字符串中查找给定的子串,若找到返回位置,找不到返回-1
- 给定字符串查找子串,返回子串出现的位置
- C语言rindex()函数:查找字符串并返回最后一次出现的位置
- C语言index()函数:查找字符串并返回首次出现的位置
- c语言:查找两个字符串的最大公共子串
- 返回子字符串的位置
- 【C语言】模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回
- C语言 编写字符串操作函数strrchr,在字符串中查找目标字符最后一次出现的位置,返回指向这次位置的指针。
- C语言笔试题(5)——查找第一个匹配子串位置
- 字符串中查找子字符串的位置
- C语言版字符串查找函数,字符串中查找子串
- 用数组实现查找字符串子串的位置-数据结构
- 查找子字符串在父串中的位置
- MySQL字符串函数【返回子串位置find_in_set(s1,s2)】
- [C语言】模拟实现库函数strstr,查找子字符串
- C语言小程序—头尾标志查找子字符串
- ESP8266的基本使用及透传编程
- 0-1背包问题(java版)
- 观察者模式与发布/订阅模式区别
- HDU1879 继续畅通工程
- (二)android recovery升级过程中掉电处理
- C语言 查找字符串子串 返回位置
- 二叉树的最大节点
- 黑客教程
- numpy基础
- 安装配置php-fpm来搭建Nginx+PHP的生产环境
- mysql 插入数据后显示乱码
- hystrix-turbine 配置及git源码路径
- 新的征途,开启新的未来。
- SSM框架在Tomcat7中无法运行