c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)
好久没有更新博客了,刚刚出炉练练手的程序如下,很简单,没有考虑过多复杂的东西,有好的想法,欢迎指教:
字符查找函数:
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(字符串换成整数)的更多相关文章
- PHP字符串函数之 strstr stristr strchr strrchr
strstr -- 查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始. stristr -- strstr 函数的忽略大小写版本 strchr -- strstr 函数的别 ...
- 字符串函数 mysql 和sqlserver 中对于字符串的常用函数和区别
1. 对于字符串大小写的统一 mysql和sqlserver中都有同名函数lower()和upper(),但是mysql中还有另外一对函数,达到同样的目的,lcase()和ucase(),也就是英文中 ...
- 微信小程序 功能函数 把数字1,2,3,4换成春,夏,秋,冬
let season =‘1,2,3’; // console.log(season.length) if (season){ if (season.length==1){ seasonChe1=se ...
- C语言-字符串函数的实现(五)之strstr
C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...
- C语言字符串函数
strtok() 字符串分割函数strstr() 字符串查找函数 范例 #include <string.h> main() { char * s = " ...
- C语言-字符串函数的实现(一)之strlen
C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...
- C语言-字符串函数的实现(二)之strcpy
C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...
- PHP函数积累总结(Math函数、字符串函数、数组函数)
Math函数:10个较常用标红.abs — 绝对值acos — 反余弦acosh — 反双曲余弦asin — 反正弦asinh — 反双曲正弦atan2 — 两个参数的反正切atan — 反正切ata ...
- php常用的字符串函数
addslashes -- 使用反斜线引用字符串 chr -- 返回相对应于 ascii 码值所指定的单个字符. chunk_split -- 将字符串分割成小块 count_chars -- 返回 ...
随机推荐
- HDU 1045 dfs + 回溯
题目链接:http://acm.hrbust.edu.cn/vj/index.php?/vj/index.php?c=&c=contest-contest&cid=134#proble ...
- ces
1. 测试目录 1.1. 测试目录 2. 测试目录2 2.1 测试目录
- react native 获取 软键盘高度 和 新增软键盘的组件
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Keyboard, Te ...
- 把mac地址转换为标准mac地址
把"00:90:8A:1D:30:51"转换成"00-90-8A-1D-30-51",如何格式错误,显示出格式错误的种类,有些不规范的转换成规范的格式,例如,& ...
- CF1076E:Vasya and a Tree(DFS&差分)
Vasya has a tree consisting of n n vertices with root in vertex 1 1 . At first all vertices has 0 0 ...
- Java移位运算符 “
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zjx409/article/details/37569055 左移运算符(<<) 基本使 ...
- 3——FFMPEG之解复用器-----AVInputFormat(转)
1. 数据结构: AVInputFormat为FFMPEG的解复用器对象,通过调用av_register_all(),FFMPEG所有的解复用器保存在以first_iformat为链表头的链表中,且还 ...
- bzoj 5006(洛谷 4547) [THUWC2017]Bipartite 随机二分图——期望DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5006 https://www.luogu.org/problemnew/show/P4547 ...
- 去掉桌面SVN
1新建记事本 2for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn" 3重命名 删除S ...
- Remi 安装源
Remi repository 是包含最新版本 PHP 和 MySQL 包的 Linux 源,由 Remi 提供维护.有个这个源之后,使用 YUM 安装或更新 PHP.MySQL.phpMyAdmin ...