strncmp、strncpy、strncat、strlen库函数的实现
来源:互联网 发布:淘宝代销怎么刷销量 编辑:程序博客网 时间:2024/04/30 07:14
2 #include <stdio.h>
3 #include <stdlib.h>
4
5 //字符串比较函数的实现
6 int my_strncmp(const char *s1,const char *s2,size_t n){
7 //判断参数是否给对,避免段错误
8 if(s1==NULL||s2==NULL)printf("param error!\n"),exit(-1);
9 if(*s1==*s2&&--n){//一个一个字符的比较,比较n次
10 s1++;
11 s2++;
12 }
13 if(*s1>*s2)
14 return 1;
15 else if(*s1<*s2)
16 return -1;
17 else
18 return 0;
19
20 }
21
22
23 //字符串复制函数的实现
24 char * my_strncpy(char* des,const char* src,size_t n){
25 if(des==NULL||src==NULL)printf("param error!\n"),exit(-1);
26 else{
27 char *tmp=des;
28 int i=n;
29 while(n--&&(*tmp++=*src++)!='\0'/*&&--n*/){};//此处"--"放在n前面则会少复制一个字符,如果放在后面则可以
30 *tmp='\0';
31 return des;
32 }
33 }
34 //字符串拼接函数的实现
35 char *my_strncat(char *des, const char *src, size_t n){
36 if(des==NULL||src==NULL)printf("param error!\n"),exit(-1);
37 char *tmp = des;
38 if (n) {
39 //先移到des字符串的最后一个字符
40 while (*tmp)
41 tmp++;
42 //从最后一个字符开始赋值
43 while ((*tmp++ = *src++) != 0) {
44 if (--n == 0) {
45 *tmp = '\0';
46 break;
47 }
48 }
49 }
50 return des;
51 }
52
53 int my_strlen(char *str){
54 int count=0;
55 while(*str++!='\0'){
56 count++;
57 }
58 return count;
59 }
60
61 int main(){
62 char des[36];
63 printf("deslen=%d\n",sizeof(des));
64 char *src="hhahaha";
65 my_strncpy(des,src,5);
66 printf("%s\n",des);
67 src="hpllo world";
68
69 my_strncat(des,src,4);
70 printf("des=%s\n",des);
71 printf("src=%s\n",src);
72
73 int cmp=my_strncmp(des,src,7);
74 printf("cmp=%d\n",cmp);
75
76 int n=my_strlen(src);
77 printf("length=%d\n",n);
78
79 }
- strncmp、strncpy、strncat、strlen库函数的实现
- 用指针实现库函数strncpy strncmp strncat
- 模拟实现C库函数strncpy、strncat、strncmp
- 模拟实现C库函数:strncpy、strncat和strncmp
- strlen(),strcpy(),strncpy(),strcat(),strncat(),strcmp(),strncmp()等函数的实现
- strncmp和strncat库函数的实现。
- 模拟实现strncpy,strncat,strncmp
- 模拟实现strncpy,strncat,strncmp
- 模拟实现strncpy,strncat,strncmp
- 模拟实现strncpy,strncat,strncmp
- 字符串库函数strlen,strcmp,strcpy,strncpy,strcat,strncat自定义实现
- 从0开始<十三>:getint()函数(类似于scanf函数)以及库函数strncpy、strncat及strncmp函数的实现
- strncmp, strncat, strncpy函数的定义与实现
- 模拟实现strcmp,strncmp,strstr,strcat,strncat,strcpy,strncpy,strlen ,memcpy,memmove等函数
- 【C语言】 实现strncpy,strncat,strncmp
- 几个常用函数的实现strcpy、 strncpy、 strncat 、 strcmp、 strlen
- 自己实现strcpy,strncpy,strncat,strcmp,strlen的功能
- 模拟实现strncpy ,模拟实现strncat ,模拟实现strncmp
- IOS开发:XCode5中显示行号
- 继续我的代码,分享我的快乐 - WEBUS2.0 资源汇总
- 继续我的代码,分享我的快乐 - WEBUS2.0 资源汇总
- C语言学习笔记
- java面试题之银行业务调度系统
- strncmp、strncpy、strncat、strlen库函数的实现
- WEBUS2.0 In Action - 创建索引
- WEBUS2.0 In Action - 开始搜索 [代码示例]
- WEBUS2.0 In Action - 解析索引文件结构(1)
- WEBUS2.0 In Action - 解析索引文件结构(2)
- 我的嵌入式学习之路——笔记计划
- Database system concept笔记(3)
- vs2012编译的程序在XP下运行提示无法定位输入点XXXXX到kernel32.dll
- Database system concept笔记(4)