文档章节

非常经典的C字符串函数的实现

ifeixiang
 ifeixiang
发布于 2014/10/31 17:49
字数 344
阅读 10
收藏 0
1. strlen(),计算字符串长度
 1 int strlen(const char string)   
 2 
 3 {   
 4 
 5     int i=0;   
 6 
 7     while(string[i]) i++;   
 8 
 9     return i;   
10 
11 }
2. strcpy(), 字符串拷贝.
1 char *strcpy(char *destination, const char *source)   
2 
3 {   
4 
5     while(*destinaton++=*source++);   
6 
7     return (destination-1);   
8 
9 }
3. strcat(), 字符串的连接.
 1 char *strcat(char *target,const char *source)   
 2 
 3 {   
 4 
 5     char *original=target;   
 6 
 7     while(*target) target++; // Find the end of the string   
 8 
 9     while(*target++=*source++);   
10 
11     return(original);   
12 
13 }
4. streql(), 判断两个字符串是否相等.
 1 int streql(char *str1,char *str2)   
 2 
 3 {   
 4 
 5     while((*str1==*str2)&&(*str1))   
 6 
 7     {   
 8 
 9         str1++;   
10 
11         str2++;   
12 
13     }   
14 
15     return((*str1==NULL)&&(*str2==NULL));   
16 
17 }
5. strchr(), 在字符串中查找某个字符.
 1 char *strchr(const char *string,int letter)   
 2 
 3 {   
 4 
 5     while((*string!=letter)&(*string))   
 6 
 7         string++;   
 8 
 9     return (string);   
10 
11 }
6. chrcnt(), 计算某个字符在字符串中出现的次数.
 1 int chrcnt(const char *string,int letter)   
 2 
 3 {   
 4 
 5     int count=0;   
 6 
 7     while(*string)   
 8 
 9         if(*string==letter)count++;   
10 
11     return count;   
12 
13 }
7. strcmp(), 判断两个字符串是否相等.
 1 int strcmp(const char *str1,const char *str2)   
 2 
 3 {   
 4 
 5     while((*str1==*str2)&&(*str1))   
 6 
 7     {   
 8 
 9         str1++;   
10 
11         str2++;   
12 
13     }   
14 
15     if((*str1==*str2)&&(!*str1)) //Same strings   
16 
17         return o;   
18 
19     else if((*str1)&&(!*str2)) //Same but str1 longer   
20 
21         return -1;   
22 
23     else if((*str2)&&(!*str1)) //Same but str2 longer   
24 
25     else   
26 
27     return((*str1>*str2)?-1:1);   
28 
29 }

 

© 著作权归作者所有

ifeixiang
粉丝 16
博文 270
码字总数 99506
作品 0
广州
程序员
私信 提问
Python中实用却不常见的小技巧

这是一个老外总结的Python的小技巧: 文章首发于我的技术博客:你可以在上面看到更多的Python教程和python爬虫 “Talk is cheap show me the code”,这是编程人条,说半天不如几行代码更有说...

呆木木人儿
03/07
0
0
微软面试、经典算法、编程艺术、红黑树4大系列总结

无私分享,造福天下 以下是本blog内的微软面试100题系列,经典算法研究系列,程序员编程艺术系列,红黑树系列4大经典原创系列作品与一些重要文章的集锦。 一、微软面试100题系列 横空出世,席...

长平狐
2013/01/06
299
0
最基础的数据结构-左轻侯

作者:左轻侯 创建时间:2007-03-04 22:29:06 最后修改时间:2008-01-18 22:07:52 本文发表于《程序员》2007年第3期      最基础的数据结构   左轻侯   2007.2.3      引言   ...

一配
2015/10/16
28
0
C++十种方法"Hello World"

初学编程,无论是VB,C/C++,Java,C#大多都是从Hellow World这个程序开 始的,也是最常见的入门方法。C/C++本身有很多特性和用发,这里就用十种方法 实现Hellow World这个程序. 1. 最经典的...

程序鸡
2012/12/07
0
3
不可小看的技术——C语言编程中的“宏”

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/03/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Guava RateLimiter + AOP注解实现单机限流、统计QPS

1、基于springboot项目pom.xml添加如下依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency><d......

铁骨铮铮
35分钟前
3
0
龙芯版办公软件下载

金山wps office   rpm包:http://ftp.loongnix.org/os/loongnix/1.0/os/Packages/w/wps-office-10.8.0.6472-1.a20p1.mips64el.rpm   deb包:http://packages.deepin.com/loongson/pool/......

gugudu
41分钟前
2
0
BI报表分析和数据可视化,推荐这三个开源工具!

开源篇 一、Superset 1、技术架构:Python + Flask + React + Redux + SQLAlchemy 2、使用人群: (1)开发/分析人员做好看板,业务人员浏览看板数据 (2)业务人员可自行编辑图表,查看满足...

飓风2000
47分钟前
3
0
CountDownLatch

CountDownLatch的概念 CountDownLatch是一个同步工具类,用来协调多个线程之间的同步,或者说起到线程之间的通信(而不是用作互斥的作用)。 CountDownLatch能够使一个线程在等待另外一些线程...

少年已不再年少
56分钟前
2
0
centos7 新手阿里云服务器安装mongodb

简介 MongoDB 是一个基于分布式 文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB特点 模式自由 :可以把不同结构的文档存...

醉雨
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部