自己实现的my_strtok函数,不妥的地方请各位多多指教
来源:互联网 发布:杰森伯恩 知乎 编辑:程序博客网 时间:2024/04/24 17:26
#include <stdio.h>
static int is_substring( const char *dest, const char *src, int len)
{
int i;
for(i = 0;i < len; i++)
{
if(src[i] != dest[i])
{
return(0);
}
}
return(1);
}
char *my_strtok(char *str, const char *delim)
{
int i = 0;
int len = strlen(delim);
char *ret_p;
char *temp;
static char *save_p;
temp = (str == NULL) ? save_p : str;
ret_p = temp;
if(1 == len)
{
/*****************************************/
while(*temp != '\0')
{
if(*delim == *temp)
{
*temp = '\0';
save_p = ++temp;
return(ret_p);
}
temp++;
}
// return(NULL);
}
else
{
/******************************************/
while(*temp != '\0')
{
if(is_substring(temp,delim,len) == 1)
{
*temp = '\0';
save_p = temp + len;
return(ret_p);
}
temp++;
}
// return(NULL);
}
return(NULL);
}
static int is_substring( const char *dest, const char *src, int len)
{
int i;
for(i = 0;i < len; i++)
{
if(src[i] != dest[i])
{
return(0);
}
}
return(1);
}
char *my_strtok(char *str, const char *delim)
{
int i = 0;
int len = strlen(delim);
char *ret_p;
char *temp;
static char *save_p;
temp = (str == NULL) ? save_p : str;
ret_p = temp;
if(1 == len)
{
/*****************************************/
while(*temp != '\0')
{
if(*delim == *temp)
{
*temp = '\0';
save_p = ++temp;
return(ret_p);
}
temp++;
}
// return(NULL);
}
else
{
/******************************************/
while(*temp != '\0')
{
if(is_substring(temp,delim,len) == 1)
{
*temp = '\0';
save_p = temp + len;
return(ret_p);
}
temp++;
}
// return(NULL);
}
return(NULL);
}
0 0
- 自己实现的my_strtok函数,不妥的地方请各位多多指教
- 请各位多多指教
- 初来乍到,有啥不对的地方,请大家多多指教
- 请各位大虾多多指教!
- 请各位大虾多多指教
- 初来乍道,请各位多多指教!
- 自己的作品(1)(截图),请多多指教
- 自己的作品(2)(截图),请多多指教
- 我的第一个JAVA程序,请各位老师多多指教
- 我是初来的,请多多指教
- 刚刚申请加入的,请大家多多指教
- 我是刚来的,请多多指教
- 自己写的数据库读写类,不足之处请大家多多指教
- 一个菜鸟写的入门级for循环函数 请多多指教
- 请各位大虾多多指教,初学者共同讨论!About C#
- 刚加入CSDN这个大家庭~~~请各位多多指教!
- 各位大虾好,小弟初来报到,请多多指教
- 小菜也开博客了 请各位多多指教哦!
- 【codevs】1503 愚蠢的宠物
- 10-1文字排版--字体、字号、颜色、粗体、斜体、下划线、删除线
- java安装过程易出现问题(jdk,jre)
- 从苏宁电器到卡巴斯基第02篇:我的本科时光(中)
- 两种数据传输的方式-get/post
- 自己实现的my_strtok函数,不妥的地方请各位多多指教
- CSS外边距合并
- 冒泡排序(c语言实现)
- leetcode 13. Roman to Integer
- Github项目解析(六)-->自定义实现ButterKnife框架
- MyBatis 知识总结(一)
- android fragement详解(2)
- Windows和Linux下的目标文件、静态库和动态库
- linux系统目录介绍