当前位置: 首页 > news >正文

赛罕区城乡建设局网站wordpress the author

赛罕区城乡建设局网站,wordpress the author,软文推广代理平台,wordpress海外建站1.函数介绍 1.1 strlen size_t(就是无符号整形) strlen(const char * str); 字符串已经\0作为结束标志#xff0c;strlen函数返回的是在字符串中\0前面出现的字符个数(不包 含\0) 参数指向的字符串必须要以\0结束。 注意函数的返回值为size_t#xff0c;…1.函数介绍 1.1        strlen size_t(就是无符号整形) strlen(const char * str); 字符串已经\0作为结束标志strlen函数返回的是在字符串中\0前面出现的字符个数(不包 含\0) 参数指向的字符串必须要以\0结束。         注意函数的返回值为size_t是无符号的(易错 )        不能相减 strlen函数模拟 int my_strlen(char* arr) {assert(arr);int counst 0;while (*arr ! \0){counst;arr;}return counst; } int main() {char arr[] abcdef;int len my_strlen(arr);printf(%d, len);return; } 1.2        strcpy char * strcpy (char * destination,const char * source) Copies the C string pointed by source into the array pointed by destination, including the terminating null character (and stopping at that point). 源字符串必须以\0结束。 会将源字符串中的0拷贝到目标空间。 目标空间必须足够大以确保能存放源字符串。 目标空间必须可变。 //strcpy函数模拟 void my_strcpy(char*arr2, const char* arr1) {assert(arr1);assert(arr2);while (*arr1 ! \0){*arr2 *arr1;}*arr2 *arr1;//复制\0; } int main() {char arr1[] abcdef;char arr2[20] { 0 };my_strcpy(arr2, arr1);printf(%s,arr2);return 0; } 1.3        strcat 字符串追加 char * strcat (char * destination,const char * source) Appends a copy of the source string to the destination string. The terminating null characterin destination is overwritten by the first character of source, and a null-character is includedat the end of the new string formed by the concatenation of both in destination. 源字符串必须以\0结束。 目标空间必须有足够的大能容纳下源字符串的内容。 目标空间必须可修改。 字符串自己给自己追加如何?        不能 //模拟strcat char* my_strcat(char* dest, const char* src) {char* ret dest;assert(dest src);while (*dest ! \0){dest;}while (*dest*src){;}return ret; } int main() {char arr1[20] hello ;my_strcat(arr1,world);printf(%s\n,arr1);return 0; } 1.4        strcmp 比内容不是比长度 int strcmp(const char*str1,const char*str2); //模拟strcmp int my_strcmp(const char*str1,const char*str2) {assert(*str1*str2);while (*str1*str2){if (*str1 \0)return 0;str1;str2;}if (*str1 *str2)return 1;elsereturn -1;//也可以写成return(*str1-*str2); } int main() {char arr1[20] zhangsan;char arr2[] zhangsanfeng;int ret my_strcmp(arr1,arr2);if (ret 0)printf(\n);else if (ret 0)printf(\n);elseprintf(n);return 0; } 增加长度限制 strncmp        加了一个参数n strncat strncpy 1.5        strstr 查找子串的一个函数 const char *strstr (const char *str1,const char *str2);char *strstr ( char *str1,const char *str2 ) 找到了返回子串的地址找不到返回空指针 模拟strstr char * my_strstr(char* str1, const char* str2) {assert(str1 str2);const char* s1 str1;const char* s2 str2;const char* p str1;while (*p){s1 p;s2 str2;while (*s1!\0*s2!\0 * s1 *s2){s1;s2;}if (*s2 \0){return (char*)p;}p;}return NULL; } int main() {char email[] zpwbitejiuyeke.com;char substr[] bitejiuyeke;char* ret my_strstr(email, substr);if (ret NULL){printf(字串不存在\n);}else{printf(%s,ret);}return 0; } KMP算法比较高效 1.6        strtok 用来切割字符串 char *strtok(char*str,const char *sep) sep参数是个字符串!定义了用作分隔符的字符集合 第一个参数指定一个字符串 它包含了0个或者多个由sep字符串中一个或者多个分隔符分割的标记。 strtok函数找到str中的下一个标记并将其用\0结尾返回一个指向这个标记的指针。 (注strtok函数会改变被操作的字符串所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。) strtok函数的第一个参数不为 NULL函数将找到str中第一个标记strtok函数将保存它在字符串中的位置。 strtok函数的第一个参数为NULL函数将在同一个字符串中被保存的位置开始查找下一个标记。 如果字符串中不存在更多的标记则返回 NULL指针。 1.7        strerror 返回错误码所对应的信息 char * strerror 字符分类函数 字符转换函数 1.8        memcpy 内存拷贝函数,负责两块独立空间中的数据 void*memcpy(void * destination,const void * source ,size_t num); //模拟memcpy void* my_memcpy(void *dest,const void *src,size_t num) {assert(dest src);void* ret dest;while (num--){*(char*)dest *(char*)src;dest (char*)dest 1;src (char*)src 1;}return ret; } int main() {int arr1[] {1,2,3,4,5,6,7};int arr2[10] {0};my_memcpy(arr2,arr1,28);return 0; } 1.9        memmove void*memmove(void * destination,const void * source ,size_t num); 和memcpy的差别就是memmove函数处理的源内存块和目标内存块是可以重叠的 如果源空间和目标空间出现重叠就得使用memmove函数处理。 //模拟memmove void* my_memmove(void *dest,const void *src,size_t num) {void* ret dest;if (dest src){//从前向后while (num--){*(char*)dest *(char* )src;dest (char*)dest 1;src (char*)src 1;}}else{//从后向前while (num--){*((char*)dest num) *((char*)src num);}}//有时候需要从前往后有时候从后往前处理数据 return ret; } int main() {int arr1[] {1,2,3,4,5,6,7,8,9,10};my_memmove(arr12,arr1,20);int i 0;for (i 0; i 10; i){printf(%d,arr1[i]);}return 0; } 1.10        memcmp int memcmp(const void * ptr1,const void * ptr2,size_t num); 1.11        memset void * memset(void *ptr,int value,size_t num); 以字节为单位修改不能初始化数组
http://www.dnsts.com.cn/news/207073.html

相关文章:

  • 什么行业做网站合适南昌网站设计公司
  • 营销型网站免费模板唐山网站建设zzvg
  • 九江室内设计学校网站的哪些标签需要优化
  • 淘宝优惠券网站建设总代搜索引擎营销案例分析
  • 5个在线设计网站安徽建设工程信息网官方网站
  • 做盗版电影网站教程wordpress 如何获得数据库数据
  • 在Vs中做网站接口贵州省建设网站
  • 网站建设 齐鲁软件园广州白云区最新信息
  • 网站开发的国内外现状公司的网站建设一般需要多少费用
  • win10 做网站服务器吗seo优化包括哪些内容
  • 做网站 大文件html5手机网站开发视频
  • 住房和城乡建设部网站 上海上海交通建设工程信息服务平台
  • 旅游网站开发的意义是什么凉山州住房和城乡建设局门户网站
  • 网站怎样关键词排名优化vue做网站好吗
  • 一个网站开发团队wordpress内页不收录
  • 国企怎么做网站html个人网站设计
  • 企业网站建设功能模块耀华建设管理有限公司网站
  • 87网站建设工作室门户网站与搜索引擎的区别
  • 做一个企业网站多少钱网络的营销方法有哪些
  • 做一个网站服务器传媒网站建设公司
  • 旗舰店的网站怎么做不备案的网站很慢
  • 专业网站网站设计北京市保障性住房建设投资中心官方网站
  • 江苏网站定制wordpress 分类 标签
  • 聊城宏远网站建设优化如果建网站
  • 南浔建设局网站山东信达建设工程有限公司网站
  • 域名注册哪个网站便宜百度seo技术优化
  • 为什么会有免费制作网站烟台网站建设方案优化
  • 做短连接的网站广东住房和建设局网站
  • 网站建设续费是什么费用广州建网站自助建站系统
  • 三星官网网站怎么快速推广网站