博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言中strcpy,strcmp,strlen,strcat函数原型
阅读量:6046 次
发布时间:2019-06-20

本文共 2086 字,大约阅读时间需要 6 分钟。

#include 
#include
char *strcpy(char *strDest, const char *strSrc) { char *address=strDest; assert((strDest!=NULL) && (strSrc!=NULL)); while(*strSrc!='\0') { *strDest++=*strSrc++; } *strDest='\0'; return address;}char *strcat(char *strDest, const char *strSrc) { char *address=strDest; assert((strDest!=NULL) && (strSrc!=NULL)); while(*strDest!='\0') { strDest++; } while(*strSrc!='\0') { *strDest++ =* strSrc++; } *strDest='\0'; return address;}nt strcmp(const char *str1,const char *str2) { assert((*str1!='\0' && *str2!='\0')); while (*str1 && *str2 && *str1==*str2) { str1++; str2++; } return *str1-*str2;}int new_strlen(const char *str) { assert(str != NULL); int len = 0; while (*str++ != '\0') { ++len; } return len;}void *memcpy(void *dst, void *src, size_t n) { char *dp = (char*)dst; char *sp = (char*)src; assert((src!=0) && (dst!=0) && n>0); while (n--) { *(dp++) = *(sp++); } *dp='\0'; return dst;}void *new_memmove(void *dst, const void *src, int n) { char *dp = (char *)dst; char *sp = (char *)src; assert((src != 0)&&(dst != 0) && (n > 0)); if (sp > dp || (sp+n) < dp) { while(n--) *(dp++)=*(sp++); *dp='\0'; }else if (sp < dp){ sp += n; dp += n; *dp = '\0'; while(n--) *(--dp) = *(--sp); } return dst;}int main() { char dest[10]; char* src = "test!"; char* ret = strcpy(dest, src); printf("Test strcpy ret is :%s\n", ret); char cat1str[20] = "cat1"; char* cat2str = "cat2"; printf("Test strcat ret is :%s\n", strcat(cat1str, cat2str)); char *len = "len"; printf("Test strlen ret is :%d\n", new_strlen(len)); char mem_dest[20]; char* mem_src = "the src test memcpy"; printf("Test memcpy ret is :%s\n", memcpy(mem_dest, mem_src, 10)); char mv_dest[20]; char* mv_src = "the src test memmove"; printf("Test memmove ret is :%s\n", new_memmove(mv_dest, mv_src, 10));}

  

转载地址:http://rejex.baihongyu.com/

你可能感兴趣的文章
小孩的linux
查看>>
SpringMVC、MyBatis声明式事务管理
查看>>
开发者详解:端游及手游服务端的常用架构
查看>>
JavaScript History对象
查看>>
在 Windows 下安装 Oracle 11g XE (Express Edition)
查看>>
ListView优化
查看>>
【原创】 PostgreSQL 实现MySQL 的auto_increment 字段
查看>>
vs2015添加vc助手
查看>>
检测点1.1
查看>>
android--------阿里 AndFix 热修复
查看>>
control.add()
查看>>
Sublime text3中配置Github
查看>>
Asp.net,C# 加密解密字符串
查看>>
网页视频播放器插件源码
查看>>
2019-4-23 plan
查看>>
[编解码] 关于base64编码的原理及实现
查看>>
WinDbg配置和使用基础
查看>>
转:Object-Runtime的基本数据类型
查看>>
JMJS系统总结系列----Jquery分页扩展库(五)
查看>>
Excel技巧之——英文大小写转换(转)
查看>>