C语言中的字符串处理库函数介绍与实现
strlen函数:求字符串的长度size_tstrlen(constchar*s)头文件:#include说明:求出s指向的字符串的长度(不包括null字符) 。 返回值:返回s指向的字符串的长度 。 size_tstrlen(constchar*s){size_tlen=0;while(*s++)len++;returnlen;}strcpy和strncpy函数:复制字符串charstrcpy(chars1,constchar*s2)头文件:#include说明:将s2指向的字符串复制到s1指向的数组中 。 若s1和s2指向的内存空间重叠 , 则作未定义处理 。 返回值:返回s1的值 。 char*strcpy(char*s1,constchar*s2){char*tmp=s1;while(*s1++=*s2++);returntmp;}charstrncpy(chars1,constchar*s2,size_tn);头文件:#include说明:将s2指向的字符串复制到s1指向的数组中 。 若s2的长度大于等于n , 则复制到第n个字符为止 。 否则用null字符填充剩余部分 。 若s1和s2指向的内存空间重叠 , 则作未定义处理 。 返回值:返回s1的值 。 char*strncpy(char*s1,constchar*s2,size_tn){char*tmp=s1;while(n){if(!(*s1++=*s2++))break;//遇到'0'就结束循环n--;}while(n--)*s1++='0';//用'0'填充剩余部分returntmp;}strcat和strncat函数:连接字符串char*strcat(char*s1,constchar*s2)头文件:#include说明:将s2指向的字符串连接到s1指向的末尾 。 若s1和s2指向的内存空间重叠 , 则作未定义处理返回值:返回s1的值 。 char*strcat(char*s1,constchar*s2){char*tmp=s1;while(*s1)s1++;//前进到s1的末尾处while(*s1++=*s2++);//循环复制直至遇到s2中的'0'returntmp;}char*strncat(char*s1,constchar*s2,size_tn);头文件:#include说明:将s2指向的字符串连接到s1指向的数组末尾 。 若s2的长度大于n则截断超出部分 。 若s1和s2指向的内存空间重叠 , 则作未定义处理 。 返回值:返回s1的值 。 char*strncat(char*s1,constchar*s2,size_tn){char*tmp=s1;while(*s1)s1++;//前进到s1的末尾处while(n--)if(!(*s1++=*s2++))break;//遇到'0'就结束循环*s1='0';//在s1的末尾插入'0'returntmp;}strcmp和strncmp函数:比较字符串的大小关系char*strcmp(char*s1,constchar*s2)头文件:#include说明:比较s1指向的字符串和s2指向的字符串的大小关系 。 返回值:若s1和s2相等 , 则返回0;若s1大于s2 , 则返回正整数值 , 反之返回负整数值 。 int*strcmp(char*s1,constchar*s2){while(*s1==*s2){if(*s1=='0')return0;s1++;s2++;}return(unsignedchar)*s1-(unsignedchar)*s2;}char*strncat(char*s1,constchar*s2,size_tn);头文件:#include说明:比较s1指向的字符的数组和s2指向的字符的数组的前n个字符的大小关系 。 返回值:若s1和s2相等 , 则返回0;若s1大于s2 , 则返回正整数值 , 反之返回负整数值 。 int*strncmp(char*s1,constchar*s2,size_tn){while(n&&*s1&&*s2){if(*s1!=*s2)return(unsignedchar)*s1-(unsignedchar)*s2;s1++;s2++;n--;}if(!n)return0;//相等if(*s1)return1;//s1>s2return-1;//s1<s2}atoi、atol和atof函数:转换字符串intatoi(constchar*nptr)头文件:#include说明:将nptr指向的字符串转换为int型表示返回值:返回转换后的值 。 结果值不能用int型表示时的处理未定义 。 longatol(constchar*nptr)头文件:#include说明:将nptr指向的字符串转换为long型表示返回值:返回转换后的值 。 结果值不能用long型表示时的处理未定义 。 doubleatof(constchar*nptr)头文件:#include说明:将nptr指向的字符串转换为double型表示返回值:返回转换后的值 。 结果值不能用double型表示时的处理未定义 。文章来源:
最后
刚整理2020年全套最新精品技术资料免费发给你!(原价最少8999元 , 超2000G!)
2、关注小编私信 。 点击头像 , 关注 。 并私信回复关键词:1024
推荐阅读
- 神农架|“神农架”深处为何不让前往?其中的古怪现象,科学家至今没搞懂
- 这8道上海经典名菜,谁是你心中的NO.1?
- 物种|现实中的灭霸:危险入侵物种,可能潜伏在暗处
- 圆周率|宇宙中的圆周率与圆周率中的宇宙,圆周率——“数字中的神”
- 透明质酸|护肤品中的透明质酸到底有什么作用?
- 玉米面是一种新的吃法。当你用开水搅拌筷子时,你将吃不到其中的三个
- 腔隙性脑梗死|【提醒】腔隙性脑梗死诊疗中的9大雷区
- 面包中的“软妹子”,零添加,岂能不爱?
- 它是蔬菜中的“花青素之王”!营养是水果的10倍
- 东北|黑土地为何被称为耕地中的大熊猫
