库函数——字符串
来源:互联网 发布:Linux check_match 编辑:程序博客网 时间:2024/06/05 20:47
strcat:字符串连接函数
函数原型:char *strcat (char *dest,char *src);
头文件:# include< string.h>
函数功能:将两个字符串连接合并成一个字符串,也就是把字符串src连接到字符串dest后面,连接后的结果放在字符串dest中
返回值:指向字符串dest的指针
char *My_Strcat(char *dest, char *src)//字符串连接函数{ assert(dest != NULL&&src != NULL); while (*dest!= '\0') { dest++; } while (*src++ != '\0') { *dest++= *src; } *(++dest)= '\0'; return dest;}int main(){ char dest[100] = { "hello w" }; char *src = "orld!" ; My_Strcat(dest,src); printf("%s", dest); return 0;}
strchr:字符串中字符首次匹配函数
函数原型:char *strchr(char *str, char c);
头文件:#include< string.h>
函数功能:在字符串中查找给定字符的第一次匹配,也就是在字符串str中查找字符c第一次出现的位置
返回值:第一次匹配位置的指针
const char *My_Strchr(const char *str, char c)//字符串中字符首次匹配函数{ assert(str != NULL); while (*str != '\0') { if (*str == c) { return str; } str++; } return NULL;}int main(){ char dest[100] = { "hello w" }; char *src = "orld!" ; printf("%c\n",My_Strchr(dest, 'e')); return 0;}
strnchr
const char *My_Strnchr(const char *str, char c, int n)//查找给定字符,第n次出现的位置{ assert(str != NULL); while (*str != '\0') { if (*str == c) { n--; } if (n == 0) { return str; } str++; } return NULL;}int main(){ char dest[100] = { "roglo C Program!" }; char *src = "hel" ; printf("%s\n",My_Strnchr(dest, 'o', 3)); return 0;}
strcmp:字符串比较函数
函数原型:int strcmp (char str1,char str2);
头文件:#include< string.h>
函数功能:比较两个字符串的大小,也就是把字符串str1和字符串str2从首字符开始逐字符的进行比较,直到某个字符不相同或比较到最后一个字符为止,字符的比较为ASIC码的比较
返回值:若字符串str1大于字符串str2返回结果大于零,若字符串str1小于字符串str2返回结果小于零,若字符串str1等于字符串str2返回结果等于零
int My_Strcmp(const char *str1,const char * str2)//字符串比较函数{ assert(str1 != NULL&&str2 != NULL); int n = 0; while (*str1 != '\0'&&*str2 != '\0') { if (*str1 != *str2) { n = *str1 - *str2; return n; } str1++; str2++; } n = *str1 - *str2; return n;}int main(){ char dest[100] = { "hello w" }; char *src = "hello world!" ; printf("%d",My_Strcmp(dest, src)); return 0;}
strcpy:字符串拷贝函数
函数原型: char * strcpy (char dest,char src);
头文件:#include< string.h>
函数功能:实现字符串的拷贝工作,也就是把字符串src中的内容拷贝到字符串dest中,使两个字符串的内容相同。
返回值:指向字符串dest的指针
char *My_Strcpy(char *dest, char * src)//字符串拷贝函数{ assert(dest != NULL&&src != NULL); int i = 0; while (src[i]!='\0') { dest[i] = src[i]; i++; } return dest;}int main(){ char dest[100] = { "" }; char *src = "hello world!" ; printf("%s",My_Strcpy(dest, src)); return 0;}
strlen:计算字符串长度函数
函数原型: int strlen (char *str);
头文件:#include< string.h>
函数功能:求字符串的长度,也就是求字符串str中有多少个字符
返回值:字符串str字符的个数
int My_Strlen(const char *str)//计算字符串长度函数{ assert(str != NULL); int count = 0; while (str[count] != '\0') { count++; } return count;}int main(){ char dest[100] = { "" }; char *src = "hello world!" ; printf("%d\n", My_Strlen(src)); return 0;}
strncat:字符串连接函数
函数原型:char *strncat (char *dest, char *src, int n);
头文件:#include< string.h>
函数功能:将一个字符串的子串连接到另一个字符串末端,也就是把字符串src
的前n个字符连接到字符串dest后面,连接后的结果放在字符串dest中
返回值:指向字符串dest的指针
char *My_Strncat(char *dest, const char *src, int n)//把src字符串中n个字符连接到dest后{ assert(dest != NULL&&src != NULL); assert(n >= 0); while (*dest != '\0') { dest++; } while (*src != '\0'&&n>=0) { *dest++ = *src++; n--; } *(++dest) = '\0'; return dest;}int main(){ char dest[100] = { "" }; char *src = "hello world!" ; My_Strncat(dest, src, 12); printf("%s", dest); return 0;}
strncpy:字符串子串拷贝函数
函数原型: char * strncpy (char dest,cosnt char src, int n);
头文件:#include< string.h>
函数功能:实现字符串子串的拷贝工作,也就是把字符串src中的前n个字符拷贝到字符串dest中。
返回值:指向字符串dest的指针
char *My_Strncpy(char *dest, cosnt char * src, int n)//字符串子串拷贝函数{ assert(dest != NULL&&src != NULL); assert(n >= 0); while (*src != '\0'&&n > 0) { *dest++ = *src++; n--; } return dest;}int main(){ char dest[100] = { "roglo C Program!" }; char *src = "hel" ; My_Strncpy(dest, src, 3); printf("%s", dest); return 0;}
strncmp:字符串子串比较函数
函数原型: int strncmp (char str1,char str2, int n);
头文件:#include< string.h>
函数功能:比较两个字符串子串的大小,也就是把字符串str1的前n个字符组成的子串和字符串str2的前n个字符组成的子串进行比较,从首字符开始逐字符的进行比较,直到某个字符不相同或比较到第n个字符为止。
返回值:若字符串str1前n个字符组成的子串大于字符串str2前n个字符组成的子串返回结果大于零,若字符串str1前n个字符组成的子串小于字符串str2前n个字符组成的子串返回结果小于零,若字符串str1前n个字符组成的子串等于字符串str2前n个字符组成的子串返回结果等于零
int My_Strncmp(char *str1, char * str2, int n)//字符串子串比较函数{ assert(str1 != NULL&&str2 != NULL); int s = 0; while (*str1 != '\0'&&*str2 != '\0'&&n > 0) { if (*str1 != *str2) { s = *str1 - *str2; return s; } str1++; str2++; n--; } s = *str1 - *str2; return s;}int main(){ char dest[100] = { "hello C Program!" }; char *src = "hello world!" ; printf("%d\n", My_Strncmp(dest, src, 5)); printf("%d\n", My_Strncmp(dest, src, 10)); return 0;}
strrchr:字符串中字符末次匹配函数
函数原型:char *strrchr(char *str, char c);
头文件:#include< string.h>
函数功能:在字符串中查找给定字符的最后一次匹配,也就是在字符串str中查找字符c最后一次出现的位置
返回值:最后一次匹配位置的指针
char *My_Strrchr(char *str, char c)//字符串中字符末次匹配函数{ assert(str != NULL); int i = 0; while (str[i] != '\0') { i++; } while(i >= 0) { if (str[i] == c) { return str + i; } i--; } return NULL;}int main(){ char dest[100] = { "hello C Program!" }; char *src = "hello world!" ; printf("%s\n",My_Strrchr(dest, 'o')); return 0;}
strstr:字符串匹配函数
函数原型:char *strstr(char *str1, char *str2);
头文件:#include< string.h>
函数功能:在字符串中查找另一个字符串首次出现的位置,也就是在字符串str1中查找第一次出现字符串str2的位置。
返回值:返回第一次匹配字符串的指针
char *My_Strstr(char *str1, char *str2)//字符串匹配函数{ assert(str1 != NULL&&str2 != NULL); int i = 0; int j = 0; while (str1[i] != '\0') { while(str1[i] == str2[j]) { if (str2[j + 1] == '\0') { return str1 + i - j; } i++; j++; } j = 0; i++; } return NULL;}int main(){ char dest[100] = { "hello C Program!" }; char *src = "rog" ; printf("%s", My_Strstr(dest, src)); return 0;}
Count_Char
int Count_Char(const char *str, const char *chars)//str中有多少个字符与chars匹配{ assert(str != NULL && chars != NULL); int count = 0; int i = 0; while (str[i] != '\0') { int j = 0; while (chars[j] != '\0') { if (chars[j] == str[i]) { count++; } j++; } i++; } return count;}int main(){ char dest[100] = { "roglo C Program!" }; char *src = "hello" ; printf("%d\n",Count_Char(dest, src)); return 0;}
- 库函数——字符串
- c库函数——字符串函数
- 字符串库函数
- 字符串库函数
- 字符串库函数
- 字符串库函数
- 字符串库函数
- Lua——库函数
- 出错处理之三——标准库函数perror用法(打印出错误原因信息字符串)
- C字符串——库函数系列(strlen、strcat、strcpy、strcmp)
- 实现字符串查找库函数
- 字符串的库函数
- 不用库函数反转字符串
- 几个字符串库函数
- Lua 字符串库函数总结
- Lua 字符串库函数总结
- 5. 使用字符串库函数
- C字符串处理库函数
- 解决You don't have permission to access问题
- Android 签名相关
- Presto-[8]-Presto Administration-web interface
- 基于SOA模式构建maven工程
- Android_添加购物车
- 库函数——字符串
- Apache用户认证
- leetcode 406. Queue Reconstruction by Height
- ajax第二篇
- DNS协议的学习与实现
- 流式布局
- MySQL——插入、更新、删除数据
- mysql踩坑实战
- python判断字符串