一些字符串处理函数的实现!

来源:互联网 发布:win7系统网络共享设置 编辑:程序博客网 时间:2024/05/22 03:17

最近刚学完数组,把一些学了的字符串处理函数进行自己理解,写出了他们的一些转化程序。有出错的地方请大家指出,相互学习!

1、strcat字符串追加

size_t  strcat(char * _Str1, const char * _Str2);

将参数_Str2追加到_Str1后尾


strcat字符串追加的实现

#include <stdio.h>#include <string.h>//strcat字符串追加的实现int main(){char str1[100] = "hello ";char str2[] = "world";int len = strlen(str1);char *p1 = str1;char *p2 = str2;p1 = p1 + len;while (*p2){*(p1++) = *(p2++);}*p1 = '\0';puts(str1);return 0;}


2、strncat字符串有限追加

size_t strncat(char * _Str1, const char * _Str2, size_t len);

strncat字符串有限追加的实现:

#include <stdio.h>#include <string.h>int main(){char str1[100] = "hello ";char str2[] = "world";int len = strlen(str1);char *p1 = str1;char *p2 = str2;p1 = p1 + len;int n;scanf ("%d", &n);while (n){*(p1++) = *(p2++);n--;}*p1 = '\0';puts(str1);return 0;}


3、strcmp字符串比较

int strcmp(const char * _Str1,const char * _Str2);

比较两个字符串是否相等,相等返回0,不等返回非0


strcmp字符串比较的实现:


int main(){char str1[] = "workasjdksahdksahd";char str2[] = "world";char *p1 = str1;char *p2 = str2;while (*p1){if(*p1 == *p2){p1 = p1++;p2 = p2++;continue;}else{printf ("str1 != str2\n");break;}printf ("str1 == str2\n");}return 0;}

4、strncmp字符串有限比较的实现:

int main(){char str1[] = "workasjdksahdksahd";char str2[] = "world";char *p1 = str1;char *p2 = str2;int n;scanf ("%d", &n);while (n){if(*p1 == *p2){p1 = p1++;p2 = p2++;n--;if(n == 0){printf ("str1 == str2\n");}continue;}else{printf ("str1 != str2\n");break;}}return 0;}

5、strcop 字符串的拷贝的实现:

int main(){char str1[100] = "hello";char str2[] = "worldkgffijhgkjhgkjh";// 拷贝实现char *p1 = str1;char *p2 = str2;while (*p2){*(p1++) = *(p2++);}*p1 = '\0';puts(str1);return 0;}


6、strcop 字符串的有限拷贝的实现:

int main(){char str1[100] = "hello";char str2[] = "worldkgffijhgkjhgkjh";// 拷贝实现char *p1 = str1;char *p2 = str2;int n;scanf("%d", &n);while (n){*(p1++) = *(p2++);n--;}puts(str1);return 0;}