开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第31天,点击查看活动详情
strcat
charstrcat(charrestrict s1,const char*restrict s2);
把s2拷贝在s1后面,接成一个长的字符串;
返回s1;
s1必须具有足够的空间。
安全问题
strcpy和strcat都可能出现安全问题,
如果目的地没有足够的空间?
安全版本
charstrncpy(charrestrict dst,const char *restrict src,size_t n);
charstrncat(charrestrict s1,const char*restrict s2,size_t n);
(n便是能最多能复制过去的空间数量)
int strncmp(const chars1,const chars2,size_t n);(n的作用是只比较字符串的前n个)
字符串中找字符
charstrchr(const chars,int c);(在字符串中从左边寻找c第一次出现的位置,返回的是指针,如果将起赋给*p做输出,则会输出包括c在内的后面的内容,而p指的是c)
charstrrchr(const chars,int c);(在右边找c第一次出现的位置)
返回NULL则表示没找到。
找第二个c?
结果为:
以第一次c出现的地方,将c及其以后的字符串接到另一个字符串后面?
结果为:
输出c第一次出现时以前的字符串
结果为:
字符串中找字符串
char*strstr(const char s1,const chars2);
char *strcasestr(const char s1,const chars2);(此种情况表示忽略大小写)
数据类型
枚举
枚举是一种用户定义的数据类型,用关键字enum以如下语法来声明:enum枚举类型名字{名字0,...,名字n}
枚举类型名字通常并不真的使用,需要的是在大括号里面的名字,因为它们就是常量符号,它们的类型是int,值依次为从0到n。如:enum colors{red,yellow,green}(创建三个常量,red值为0,...)