头文件: #include<string.h>
第一名
char* strstr(char* dest, char* need);
从dest字符串中找出need字符串出现的位置,不比较结束符,找不到返回NULL,找到了
返回need出现的位置
第二名
char* strcat(char* dest, char* src);
char*strncat(char* dest, char* src,size_t n);
把src所指向的字符串添加到dest尾部,并且覆盖其尾部的 '\0' ,返回dest的指针,strncat()
多一个参数,就是复制src中的n个字符。 注意,要保证dest有足够的空间接收src!
第三名
char* strcpy(char* dest, char* src);
char* strncpy(char* dest, char* src, size_t n);
把字符串src中的内容copy到dest中,连字符串结束标志也一起copy。strncpy()也是多一个
数量的参数,指定复制的字节数。
第四名
size_t strspn(const char* s, const char* accept);
size_t strcspn(const char* s, const char* reject);
strspn函数作用是返回S字符串中从头开始有多少个字符都属于字符串accept内的字符,换
句话说如果strspn函数返回n,则代表字符串S中从头开始有n个字符都是属于字符串accept
中的字符。而strcspn函数则正好相反,是返回S字符串中从头开始有多少个字符不属于字符
串accept内的字符。
第五名
char* strchr(const char* s, char c);
char* strrchr(const char* s, char c);
前者是返回字符串S中第一次出现c中的字符的位置的指针,后者是返回字符串S中最后一次
出现c中的字符的位置的指针。
第六名
char* strdup(const char* s);
char* strndup(const char* s, size_t n);
复制字符串到新的地址中,返回新地址的指针,后者添加了最多复制n个字符。如果字符串
s正好有n个字符,则结束符 '\0' 会自动添加。
ps:查了一下strdup这个函数,觉得以后还是少用这个函数。以前都是用来复制代码段中
的const char*的一个字符串,复制出来的新的字符串才能做修改,例如代码
char* upload_File_Save_Path = "/usr/local/";
要修改时就char* str = strdup(upload_File_Save_Path); 然后再对str进行操作,但是这个
str占的内存是strdup函数alloc出来的,用完之后应该是需要手动释放的,可是我一直都木
有管这事。
其实strlen才是最常用的,返回字符串长度,不包括‘\0’...