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!)
1、点赞+评论(勾选“转发”)
2、关注小编私信 。 点击头像 , 关注 。 并私信回复关键词:1024


    推荐阅读