好久没有更新博客了,刚刚出炉练练手的程序如下,很简单,没有考虑过多复杂的东西,有好的想法,欢迎指教:

字符查找函数:

char *my_strchr(const char *s,int c)
{
char *pTemp = s; do
{
if(*pTemp == c)
{
return pTemp;
}
}
while(*pTemp++); return NULL;
}

字符串比较函数:

int my_strcmp(const char *s1,const char *s2)
{
char *pTemp1 = s1;
char *pTemp2 = s2; while(*pTemp1 && *pTemp2 && ((*pTemp1++) == (*pTemp2++)));
//{
/*return ((*--pTemp1) - (*--pTemp2));*/
//}// if(*pTemp1 && *pTemp2)
{
return ((*--pTemp1) - (*--pTemp2));
} if(*pTemp1)
{
return *pTemp1;
} if(*pTemp2)
{
return -*pTemp2;
} return ; }

字符串查找函数:

char *my_strstr(const char *haystack,const char * needle)
{
char *pTempSrc = haystack; char *pTempDes = needle; do
{
if(*pTempSrc != *pTempDes++)
{
pTempDes = needle;
} if(!*pTempDes)
{
return pTempSrc-(pTempDes-needle)+;
}
}while(*pTempSrc++); return NULL; }

内存比较函数:

int my_memcmp(const void *s1,const void *s2,size_t n)
{
char *pTemp1 = s1;
char *pTemp2 = s2; while(n-- > )
{
if(*pTemp1++ != *pTemp2++)
{
break;
}
} if(*pTemp1 && *pTemp2)
{
return ((*--pTemp1) - (*--pTemp2));
} if(*pTemp1)
{
return *pTemp1;
} if(*pTemp2)
{
return -*pTemp2;
} return ; }

字符串变成数字函数:

int my_atoi(const char *nptr)
{
char *pTemp = nptr; int sum = ;
unsigned flag = ; if(*pTemp == '-')
{
flag = ;
pTemp++;
} do
{
if((*pTemp >= '') && (*pTemp <= ''))
{
sum *= ;
sum += (*pTemp - '');
}
else
{
return -;
} }while(*++pTemp); return (flag == ? sum : -sum); }

数字变成字符串函数:

int my_itoa(int val,char *ret)
{
char *pTemp = ret;
int bits = ; int flag = ; if(val < )
{
flag = ;
val = -val; pTemp++;
ret[] = '-';
}
//printf("val %d\n",val); while(val)
{
(*pTemp++) = val% + '';
bits++;
//printf("%d \n",val);
val = val / ; } *pTemp = '\0'; //printf("%s \n",ret); //fan zhuan
int i = ;
int temp = ;
for( i = ; i < bits/; i++)
{
temp = ret[i+];
ret[i+] = ret[bits-i--];
ret[bits-i--] = temp;
} return ; }

上传完毕,欢迎园友指正,谢谢!

c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)的更多相关文章

  1. PHP字符串函数之 strstr stristr strchr strrchr

    strstr -- 查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始. stristr -- strstr 函数的忽略大小写版本 strchr -- strstr 函数的别 ...

  2. 字符串函数 mysql 和sqlserver 中对于字符串的常用函数和区别

    1. 对于字符串大小写的统一 mysql和sqlserver中都有同名函数lower()和upper(),但是mysql中还有另外一对函数,达到同样的目的,lcase()和ucase(),也就是英文中 ...

  3. 微信小程序 功能函数 把数字1,2,3,4换成春,夏,秋,冬

    let season =‘1,2,3’; // console.log(season.length) if (season){ if (season.length==1){ seasonChe1=se ...

  4. C语言-字符串函数的实现(五)之strstr

    C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...

  5. C语言字符串函数

    strtok()     字符串分割函数strstr()     字符串查找函数 范例 #include <string.h> main() {     char * s = " ...

  6. C语言-字符串函数的实现(一)之strlen

    C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...

  7. C语言-字符串函数的实现(二)之strcpy

    C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...

  8. PHP函数积累总结(Math函数、字符串函数、数组函数)

    Math函数:10个较常用标红.abs — 绝对值acos — 反余弦acosh — 反双曲余弦asin — 反正弦asinh — 反双曲正弦atan2 — 两个参数的反正切atan — 反正切ata ...

  9. php常用的字符串函数

    addslashes -- 使用反斜线引用字符串 chr -- 返回相对应于 ascii 码值所指定的单个字符. chunk_split -- 将字符串分割成小块 count_chars --  返回 ...

随机推荐

  1. java实现的18位身份证格式验证算法

    公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.1.地址码表示编码对象常住户口所在县(市. ...

  2. 无法安装64位版本的office因为在您的pc

    无法安装64位版本的office因为在您的pcWindows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Installer\Products\00 ...

  3. android 知识小结-1

    Java哪些数据结构是线程安全的,CurrentHashMap的原理 ConcurrentHashMap.ConcurrentSkipListMap.ConcurrentSkipListSet.Con ...

  4. 关于CMD/DOS中的短文件名规则

    最近在制作一个批处理的过程中发现一个很郁闷的问题,就是有些时候搜索到的结果不是我们想要的

  5. ESET Smart Security – 免费90天(sv)

    Eset 活动很多,还有beta测试,几乎可以免费使用Eset.萨尔瓦多.免费活动,3个月免费ESS/EAV活动地址: 点此进入  填写表格,给你免费3个月的 ESS\EAV 许可证.官方网站: 点此 ...

  6. vuex: 简单(弹窗)实现

    在使用基于 vue.js 2.0 的UI框架 ElementUI 开发网站的时候 , 就遇到了这种问题 : 一个页面有很多表单 , 我试图将表单写成一个单文件组件 , 但是表单 ( 子组件 ) 里的数 ...

  7. Win7安装netbeans 找不到JDK

    安装netbeans,直接运行官方下载的.exe安装包,提示找不到jdk,我jdk已安装1.7,环境变量已配好.然后百度,找到很多都是linux下的解决方案,win7的很少,然后看到说--javaho ...

  8. 第3课 进化后的const分析

    C语言中的const const修饰的变量是只读的,本质还是变量 const修饰的局部变量在栈上分配空间(改变这个空间的值,这个变量就会改变) const修饰的全局变量在只读存储区分配空间 const ...

  9. 认识 ARM、FPGA

    0. ARM ARM:Advanced RISC machine,微处理行业的一家知名企业.适用于多种领域,如嵌入控制,消费.教育类多媒体.DSP和移动式应用. 优势: 功耗低,不容易发热.死机: 3 ...

  10. 树的直径证明+HDU2196

    首先把无向图变成一棵树,直径肯定由叶子组成. 有以下两种情况: 第一种:经过根节点,则找两个最远的叶子肯定是直径,也就是B+D. 第二种:不经过根节点,则目标的两个叶子肯定有一个不为根的公共祖先,如红 ...