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

合肥建设网站哪个好怎么做自己的app软件

合肥建设网站哪个好,怎么做自己的app软件,asp.ney旅游信息网站下载 简洁,网页浏览器官方下载嘿嘿,uu们,今天咱们来详解字符函数与字符串函数,好啦,废话不多讲,开干#xff01; 1.:字符分类函数 C语言中又一系列的函数是专门做字符分类的,也就是一个字符属于什么类型的字符的,这些函数的使用需要包含头文件ctype.h 这些函数的使用方法都十分类似,博主在这里就举两到三个…嘿嘿,uu们,今天咱们来详解字符函数与字符串函数,好啦,废话不多讲,开干 1.:字符分类函数 C语言中又一系列的函数是专门做字符分类的,也就是一个字符属于什么类型的字符的,这些函数的使用需要包含头文件ctype.h 这些函数的使用方法都十分类似,博主在这里就举两到三个例子,其他的都是换汤不换药~ 1.1:islower函数 islower函数是能够判断参数部分的c是否是小写字符的 通过返回值来判断是否是小写字母,如果是小写字母就返回非0的整数,如果不是小写字母,则返回0. #include stdio.h #include ctype.h int main() {char c a;char a A;printf(%d %d\n, islower(c), islower(a));return 0; }1.2:isspace函数 isspacer函数是能够判断参数部分的c是否是空白字符:空格 ’,换页\f,换行\n,回车\r,制表符\t或者垂直制表符\v的. 通过返回值来判断是否是空白字符:空格 ’,换页\f,换行\n,回车\r,制表符\t或者垂直制表符\v,如果是这些字符,则返回非0的整数,反之则返回0. #include stdio.h #include ctype.h int main() {char a ;char b \v;char c A;char d \t;printf(%d\n,isspace(c));printf(%d\n,isspace(b));printf(%d\n,isspace(a));printf(%d\n,isspace(d));return 0; }2.字符转换函数 C语言提供了2个字符转换函数. 1.:int tolower ( int c ); //将参数传进去的⼩写字⺟转⼤写 2.:int toupper ( int c ); //将参数传进去的⼤写字⺟转⼩写  #include stdio.h #include ctype.h int main() {int i 0;char str[] Test String Function.\n;char c;while (str[i]){c str[i];//若为小写字符if (islower(c))//转换为大写字符c toupper(c);//若为大写字符else if (isupper(c))//转换为小写字符c tolower(c);putchar(c);i;}return 0; } 3.strlen函数的使用与模拟实现 3.1:strlen的使用 size_t strlen ( const char * str ); 字符串以\0作为结束标志,strlen函数返回的是在字符串中\0前面出现的字符个数(不包含\0).参数指向的字符串必须要以\0结束.注意函数的返回值为size_t,是无符号的. #include stdio.h #include string.h int main() {const char* str1 abcdefg;const char* str2 abde;if (strlen(str1) strlen(str2))printf(str1 str2);elseprintf(str2 str1);return 0; } 3.2:strlen的模拟实现 3.2.1:计数器的方式 #include stdio.h #include string.h #include assert.h int my_strlen(const char* str) {//避免传过来的指针是空指针assert(str);//统计字符出现的个数int count 0;while (*str ! \0){count;str;}return count; } int main() {const char* str abcdefg;printf(%zd\n, my_strlen(str));return 0; } 上述方式则是通过计数器的方式模拟实现strlen,当*str \0时,此时跳出循环. 3.2.2:递归的方式 #include stdio.h #include string.h #include assert.h int my_strlen(const char* str) {assert(str);if (*str \0)return 0;return 1 my_strlen(str 1); } int main() {const char* str abcdefg;printf(%zd\n, my_strlen(str));return 0; } 3.2.3:指针-指针的方式 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h int mystrlen(const char* str) {assert(str);//记录起始位置const char* begin str;while (*str ! \0){str;}return str - begin; }int main() {const char* str abcdef;int result mystrlen(str);printf(%d\n, result);return 0; } 4:strcpy函数的使用与实现. strcpy函数的功能是将soure指向的字符串拷贝到destination,同时也会拷贝\0. char* strcpy(char * destination, const char * source ); 源字符串必须以\0结束.会将源字符串中的\0拷贝到目标空间.目标空间必须足够大,以确保能存放到源字符串.目标空间必须可变.  4.1:strcpy函数的使用 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hint main() {char str1[200] abc;char str2[150]hello world;printf(拷贝前:%s\n, str1);strcpy(str1,str2);printf(拷贝后:%s\n,str1);return 0; } 4.2:strcpy函数的模拟实现 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hchar* my_strcpy(char* destination, const char* source) {char* result destination;//防止空指针的传递assert(destination source);while(*source ! \0){//拷贝当前字符*destination *source;destination;source;}//拷贝\0*destination *source;return result; }int main() {char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要拷贝的字符串:);scanf(%s,str2);printf(拷贝前:%s\n, str1);my_strcpy(str1, str2);printf(拷贝后:%s\n,str1);return 0; } 5:strcat函数的使用与实现 strcat的功能是追加字符串,将目标字符串追加到源字符串的后面,同时也会追加\0. 源字符串必须以\0结束.目标字符串也得有\0,否则没办法知道追加从哪里开始.目标空间必须有足够的大,能够容纳下源字符串的内容.目标空间必须可修改. 5.1:strcat函数的使用 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hint main() {char str1[200] abc;char str2[150]hello world;printf(追加前:%s\n, str1);strcat(str1, str2);printf(追加后:%s\n,str1);return 0; } 5.2:strcat函数的模拟实现 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hchar* my_strcat(char* destination, const char* source) {char* result destination;//防止空指针的传递assert(destination source);//目标字符串遍历到\0的位置while (*destination ! \0){destination;}while (*source ! \0){//进行追加*destination *source;destination;source;}//拷贝\0*destination *source;return result; }int main() {char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要拷贝的字符串:);scanf(%s,str2);printf(追加前:%s\n, str1);my_strcat(str1, str2);printf(追加后:%s\n,str1);return 0; } 6:strcmp的使用与模拟实现 strcmp的功能是比较字符串的大小. 第⼀个字符串大于第二个字符串则返回⼤于0的数字 第⼀个字符串等于第二个字符串则返回0 第⼀个字符串小于第二个字符串则返回⼩于0的数字 那么如何判断两个字符串 ⽐较两个字符串中对应位置上字符ASCII码值的大小. 6.1:strcmp的使用 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hint main() {char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要比较的字符串:);scanf(%s,str2);if(strcmp(str1,str2) 0){printf(str1 str2\n);}else if (strcmp(str1, str2) 0){printf(str1 str2);}else{printf(str1 str2);}return 0; } 6.2:strcmp的模拟实现 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hint my_strcmp(const char * str1,const char * str2) {//防止空字符串assert(str1);assert(str2);//越过相等的字符while(*str1 *str2){/*确认当循环退出时即*str1和*str2不再相等)如果* str1 是 \0,则说明 str1 和 str2 是相等的因为它们都到达了结束符*/if (*str1 \0)return 0;str1;str2;}return *str1 - *str2; }int main() {char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要比较的字符串:);scanf(%s,str2);if(my_strcmp(str1,str2) 0){printf(str1 str2\n);}else if (my_strcmp(str1, str2) 0){printf(str1 str2);}else{printf(str1 str2);}return 0; } 7:strncpy函数的使用与模拟实现 7.1:strncpy函数的使用 char * strncpy ( char * destination, const char 1 * source, size_t num ); 拷贝num个字符从源字符串到目标空间。 如果源字符串的长度小于num,则拷贝完源字符串之后在目标的后边追加0直到num个. #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hint main() {int num 0;char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要拷贝的字符串:);scanf(%s,str2);printf(请输入要拷贝的字符个数:);scanf(%d,num);printf(拷贝前:%s\n, str1);strncpy(str1, str2, num);printf(拷贝后:%s\n, str1);return 0; } 7.2:strncpy函数的模拟实现 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.hchar* my_strncpy(char* str1, const char* str2, size_t num) {char* result str1;//防止空字符串assert(str1);assert(str2);//拷贝字符串while (num--){*str1 *str2;str1;str2;}return result; }int main() {int num 0;char str1[200] abc;char str2[150] hello world;printf(请输入源头字符串:);scanf(%s, str1);printf(请输入要拷贝的字符串:);scanf(%s, str2);printf(请输入要拷贝的字符个数:);scanf(%d, num);printf(拷贝前:%s\n, str1);my_strncpy(str1, str2, num);printf(拷贝后:%s\n, str1);return 0; } 8.:strncat函数的使用与模拟实现 8.1:strncat函数的使用 比较str1和str2的前num个字符如果相等就继续往后比较最多比较num个字⺟如果提前发现不一样,就提前结束,大的字符所在的字符串大于另外一个。如果num个字符都相等就是相等返回0. #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.h int main() {int num 0;char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要追加的字符串:); scanf(%s,str2);printf(请输入要追加的字符个数:);scanf(%d,num);printf(追加前:%s\n, str1);strncat(str1, str2, num);printf(追加后:%s\n, str1);return 0; }8.2:strncat的模拟实现   #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.h char * my_strncat(char * str1,const char * str2,size_t num) {char* result str1;//防止空字符串assert(str1);assert(str2);while(num--){*str1 *str2;str1;str2;}return str1; }int main() {int num 0;char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要追加的字符串:); scanf(%s,str2);printf(请输入要追加的字符个数:);scanf(%d,num);printf(追加前:%s\n, str1);strncat(str1, str2, num);printf(追加后:%s\n, str1);return 0; } 9.strncmp函数的使用与模拟实现 9.1:strncmp函数的使用 int main() {int num 0;char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入要比较的字符串:); scanf(%s,str2);printf(请输入要比较的字符个数:);scanf(%d,num);size_t result strncmp(str1, str2, num);if(result 0){printf(str1 str2\n);}else if( result 0){printf(str1与str2的前num个字符相等\n);}else{printf(str1 str2\n);}return 0; } 9.2:strncmp函数的模拟实现 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.h int my_strncmp(const char* str1, const char* str2, size_t num) {//防止空字符串assert(str1);assert(str2);while (num ! 0 (*str1 *str2)){/*确认当循环退出时即*str1和*str2不再相等)如果* str1 是 \0,则说明 str1 和 str2 是相等的因为它们都到达了结束符*/if (*str1 \0)return 0;str1;str2;num--;}return *str1 - *str2; }int main() {int num 0;char str1[200] abc;char str2[150] hello world;printf(请输入源头字符串:);scanf(%s, str1);printf(请输入要比较的字符串:);scanf(%s, str2);printf(请输入要比较的字符个数:);scanf(%d, num);size_t result strncmp(str1, str2, num);if (result 0){printf(str1 str2\n);}else if (result 0){printf(str1与str2的前num个字符相等\n);}else{printf(str1 str2\n);}return 0; }10:strstr的使用与模拟实现 char * strstr(const char*,const char *); strstr函数用户匹配字符串,用于匹配str2是否是str1的子串,如果是,那么则会返回子串的首字符在str1的首字符地址. 10.1:strstr的使用 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.h int main() {int num 0;char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入子串:); scanf(%s,str2);char* result strstr(str1, str2);if(result ! NULL){printf(%s\n, result);}else{printf(无法匹配到\n);}return 0; }10.2:strstr的模拟实现 #define _CRT_SECURE_NO_WARNINGS #include assert.h #include stdio.h #include string.h const char * my_strstr(const char * str1,const char * str2) {assert(str1);assert(str2);//用于遍历字符串const char* begin1 str1;const char* begin2 str2;//记录起始位置const char* temp str1;const char* result str2;while (*begin1 ! \0){//相等直接越过,while(*begin1 *begin2){begin1;begin2;if(*begin2 \0){return temp;}}//走到这里说明不匹配,那么起始位置temp;//源头字符串begin1 temp;//匹配字符串回到起始位置begin2 str2;}return NULL; }int main() {int num 0;char str1[200] abc;char str2[150]hello world;printf(请输入源头字符串:);scanf(%s,str1);printf(请输入子串:); scanf(%s,str2);const char* result my_strstr(str1, str2);if(result ! NULL){printf(%s\n, result);}else{printf(无法匹配到\n);}return 0; }11:strtok函数的使用 char * strtok(char * str,const char * sep);          sep参数指向⼀个字符串,定义了用作分隔符的字符集合.        第⼀个参数指定⼀个字符串它包含了0个或者多个由sep字符串中⼀个或者多个分隔符分割的标记。         strtok函数找到str中的下⼀个标记并将其用\0 结尾返回⼀个指向这个标记的指针.(注:strtok函数会改变被操作的字符串所以在使用strtok函数切分的字符串⼀般都是临时拷贝的内容并且可修改         strtok函数的第⼀个参数不为 NULL,函数将找到str中第⼀个标记,strtok函数将保存它在字符串中的位置。         strtok函数的第⼀个参数为 NULL,函数将在同⼀个字符串中被保存的位置开始查找下⼀个标记。          如果字符串中不存在更多的标记,则返回 NULL 指针。 #define _CRT_SECURE_NO_WARNINGS #include stdio.h #include string.h int main() {char arr[] 192.168.6.111;const char* sep .;char* str NULL;for (str strtok(arr, sep); str ! NULL; str strtok(NULL, sep)){printf(%s\n, str);}return 0; }12:strerror函数的使用 char * strerror ( int errnum ); strerror函数可以把参数部分错误码对应的错误信息的字符串地址返回来。 在不同的系统和C语言标准库的实现中都规定了⼀些错误码⼀般是放在 errno.h 这个头⽂件中说明的,C语言程序启动的时候就会使用⼀个全⾯的变量errno来记录程序的当前错误码只不过程序启动 的时候errno是0,表示没有错误当我们在使⽤标准库中的函数的时候发⽣了某种错误就会讲对应 的错误码,存放在errno中,而⼀个错误码的数字是整数很难理解是什么意思所以每⼀个错误码都是. 有对应的错误信息的。strerror函数就可以将错误对应的错误信息字符串的地址返回. #include errno.h #include string.h #include stdio.h //我们打印⼀下0~10这些错误码对应的信息 int main() {int i 0;for (i 0; i 10; i) {printf(%s\n, strerror(i));}return 0; } 好啦,uu们,字符函数与字符串函数这部分滴详细知识博主就讲到这里啦,如果uu们觉得博主讲的不错的话,请动动你们滴小手给博主点点赞,你们滴鼓励将成为博主源源不断滴动力,同时也欢迎大家来指正博主滴错误~.
http://www.dnsts.com.cn/news/143911.html

相关文章:

  • 网站建设策划书ppt项目管理软件培训
  • 公司网站被百度转码了辽宁网站建站优化公司
  • 医保局微网站开发无锡网站建设 网站制作
  • 天门市网站建设智汇团建网站登录平台
  • 南阳网站建设与管理网页转微信小程序
  • 宝安沙井天气网站建设优化一体
  • 网站制作实例可视化开源cms
  • 网站建设目的wordpress邀请码教程
  • 赣县网站建设列举网站开发常用的工具
  • 自己做的网站如何上线成都十八个网红打卡地
  • 网站关键词优化系统清远市发布
  • 国外响应式网站英文站网站源码
  • 怎样将自己做的网站发布到外网上比较大气的企业网站
  • 网站建设与管理是什么门户网站做公众号的好处
  • 做哪个网站最简单传送门网站是怎么做的
  • 企业网站建设规划书的内容麻城网站建设
  • 网站的基本布局和易企秀类似的软件免费的
  • 餐饮众筹模板网站建设百度下载安装2022最新版
  • 大理建设局网站企业名录在哪里查询
  • 网站推广的名词解释c做的网站
  • 做网站教程下载虚拟主机如何做多个网站
  • 建设网站远达建设个人网银网站
  • 3322网建站北京通州个人网站建设
  • 全国网站建设公学院网站开发网站定位
  • 静态网站建设要学什么二手车网站开发PPT
  • h5响应式音乐网站模板厦门网站建设招标
  • 广州开发网站报价做分析图超牛的地图网站
  • 建设电影网站需要什么想买个服务器做网站
  • 网站所有者是什么意思大屏高端插画家个人主页
  • 国外中文网站排行什么网站可以做ppt模板