




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、以下是一些常见的C字符串处理函数的源代码,当然也是从网上找来的,学习它一个好处是加深理解C,另一个好外是应聘面试中的笔试常常会用到它们,呵呵。当然,还有一些没有列出来,或者有更好的实现方法,你可以贡献一下哦,share your code! :)/stirng.c=char *strcpy(char *strDes, const char *strSrc) assert(strDes != NULL) & (strSrc != NULL); char *address = strDes; while (*strDes + = *strSrc +) != 0) NULL; return addr
2、ess;char *strchr_(char *str, int c) assert(str != NULL); while (*str != (char) c) & (*str != 0) str +; if (*str != 0) return str; return NULL;char *strchr(const char *str, int c) assert(str != NULL); for (; *str != (char) c; + str) if (*str = 0) return NULL; return (char *) str;int strcmp(const char
3、 *s, const char *t) assert(s != NULL & t != NULL); while (*s & *t & *s = *t) + s; + t; return (*s - *t);char *strcat(char *strDes, const char *strSrc) assert(strDes != NULL) & (strSrc != NULL); char *address = strDes; while (*strDes != 0) + strDes; while (*strDes + = *strSrc +) != 0) NULL; return ad
4、dress;int strlen(const char *str) assert(str != NULL); int len = 0; while (*str + != 0) + len; return len;char *strdup(const char *strSrc) assert(strSrc != NULL); int len = 0; while (*strSrc + != 0) + len; char *strDes = (char *) malloc (len + 1); while (*strDes + = *strSrc +) != 0) NULL; return str
5、Des;char *strstr(const char *strSrc, const char *str) assert(strSrc != NULL & str != NULL); const char *s = strSrc; const char *t = str; for (; *t != 0; + strSrc) for (s = strSrc, t = str; *t != 0 & *s = *t; +s, +t) NULL; if (*t = 0) return (char *) strSrc; return NULL;char *strncpy(char *strDes, co
6、nst char *strSrc, int count) assert(strDes != NULL & strSrc != NULL); char *address = strDes; while (count - & *strSrc != 0) *strDes + = *strSrc +; return address;char *strncat(char *strDes, const char *strSrc, int count) assert(strDes != NULL) & (strSrc != NULL); char *address = strDes; while (*str
7、Des != 0) + strDes; while (count - & *strSrc != 0 ) *strDes + = *strSrc +; *strDes = 0; return address;int strncmp(const char *s, const char *t, int count) assert(s != NULL) & (t != NULL); while (*s & *t & *s = *t & count -) + s; + t; return (*s - *t);char *strpbrk(const char *strSrc, const char *st
8、r) assert(strSrc != NULL) & (str != NULL); const char *s; while (*strSrc != 0) s = str; while (*s != 0) if (*strSrc = *s) return (char *) strSrc; + s; + strSrc; return NULL;int strcspn(const char *strSrc, const char *str) assert(strSrc != NULL) & (str != NULL); const char *s; const char *t = strSrc;
9、 while (*t != 0) s = str; while (*s != 0) if (*t = *s) return t - strSrc; + s; + t; return 0;int strspn(const char *strSrc, const char *str) assert(strSrc != NULL) & (str != NULL); const char *s; const char *t = strSrc; while (*t != 0) s = str; while (*s != 0) if (*t = *s) break; + s; if (*s = 0) re
10、turn t - strSrc; + t; return 0;char *strrchr(const char *str, int c) assert(str != NULL); const char *s = str; while (*s != 0) + s; for (- s; *s != (char) c; - s) if (s = str) return NULL; return (char *) s;char* strrev(char *str) assert(str != NULL); char *s = str, *t = str, c; while (*t != 0) + t;
11、 for (- t; s t; + s, - t) c = *s; *s = *t; *t = c; return str;char *strnset(char *str, int c, int count) assert(str != NULL); char *s = str; for (; *s != 0 & s - str = a & *s = A & *s = Z) *s += 0x20; s +; return str;void *memcpy(void *dest, const void *src, int count) assert(dest != NULL) & (src !=
12、 NULL); void *address = dest; while (count -) *(char *) dest = *(char *) src; dest = (char *) dest + 1; src = (char *) src + 1; return address;void *memccpy(void *dest, const void *src, int c, unsigned int count) assert(dest != NULL) & (src != NULL); while (count -) *(char *) dest = *(char *) src; i
13、f (* (char *) src = (char) c) return (char *)dest + 1); dest = (char *) dest + 1; src = (char *) src + 1; return NULL;void *memchr(const void *buf, int c, int count) assert(buf != NULL); while (count -) if (*(char *) buf = c) return (void *) buf; buf = (char *) buf + 1; return NULL;int memcmp(const
14、void *s, const void *t, int count) assert(s != NULL) & (t != NULL); while (*(char *) s & *(char *) t & *(char *) s = *(char *) t & count -) s = (char *) s + 1; t = (char *) t + 1; return (*(char *) s - *(char *) t);void *memmove(void *dest, const void *src, int count) assert(dest != NULL & src != NULL); void *address = dest; while (count -) *(char *) dest = *(char *)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB31/T 680.3-2017城市公共用水定额及其计算方法第3部分:游泳池
- DB31/T 229-2011矿物油型有机热载体
- DB31/T 1256-2020消毒产品卫生安全评价信息数据集
- DB31/T 1193-2019山鸡养殖技术规范
- CAB 1027-2014汽车罩
- 高中三年如何规划:从高一到高三的全程指南
- 2024年工艺气体压缩机资金筹措计划书代可行性研究报告
- 海外医疗记录租赁与安全保障合同
- 跨境电商物流配送车队委托国际化经营管理合同
- 新能源汽车电池租赁保险理赔及责任追溯协议
- 22G101三维彩色立体图集
- 《计算机网络实验教程》全套教学课件
- DL∕T 904-2015 火力发电厂技术经济指标计算方法
- DL∕T 552-2015 火力发电厂空冷凝汽器传热元件性能试验规程
- 数字化设计与制造课程教学大纲
- php校友管理系统论文
- TD/T 1040-2013 土地整治项目制图规范(正式版)
- 2023北京朝阳区高二下学期期末英语试题及答案
- 《铁路路基施工与维护》课件-7 基床以下路堤施工
- 《民航客舱设备操作与管理》课件-项目四 飞机舱门及撤离滑梯
- DL-T 1476-2023 电力安全工器具预防性试验规程
评论
0/150
提交评论