大家好,strcat相信很多的网友都不是很明白,包括C语言str系列函数也是一样,不过没有关系,接下来就来为大家分享关于strcat和C语言str系列函数的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
1.strcat()、strncat()字符串追加函数
#define_CRT_SECURE_NO_WARNINGS\n#include<stdio.h>\n#include<stdlib.h>\n#include<math.h>\n#include<string.h>\n\nintmain0201()//字符串追加函数,注意字符串1有足够空间容纳字符串2\n{\n\tchara[100]="abc";\n\tcharb[100]="defg";\n\tstrcat(a,b);//将字符串b追加到a之后,并输出a\n\tprintf("%s\\n",a);\n\treturn0;\n}\nintmain0202()\n{\n\tchara[100]="abc";\n\tcharb[100]="defg";\n\tstrncat(a,b,1);//将字符串b追加到a之后,并输出a\n\tprintf("%s\\n",a);\n\treturn0;\n}
2.strcmp()、strncmp()字符串比较函数
#include<stdio.h>\nintmain0301()//字符串比较\n{\n\tchara[100]="abc";\n\tcharb[100]="abcd";\n\tif(strcmp(a,b)==0)//比较a,b是否相同\n\t\tprintf("相同");\n\telse\n\t\tprintf("不同");\n\treturn0;\n}\n\nintmain0302()//字符串有限比较\n{\n\tchara[100]="abc";\n\tcharb[100]="abcd";\n\tif(strncmp(a,b,4)==0)//比较a,b的前n个字符是否相同\n\t\tprintf("相同");\n\telse\n\t\tprintf("不同");\n\treturn0;\n}
3.strcpy()字符串拷贝函数
#include<stdio.h>\nintmain0401()//字符串拷贝,将b拷贝到a中并覆盖a内容\n{\nchara[100]="abc";\ncharb[100]="12345";\nstrcpy(a,b);\nprintf("%s\\n",a);\nreturn0;\n}\nintmain0402()\n{\nchara[100]="abc";\ncharb[100]="12345";\nstrncpy(a,b,sizeof(a)-1);//将a字符串放满\nprintf("%s\\n",a);\nreturn0;\n}
4.sprintf()格式化输入到字符串函数
#include<stdio.h>\nintmain0501()\n{\n\tchara[100];\n\tsprintf(a,"%s","helloworld");\n\tprintf("%s\\n",a);\n\treturn0;\n}
5.sscanf()字符串读取函数
#define_CRT_SECURE_NO_WARNINGS\n#include<stdio.h>\n#include<stdlib.h>\n#include<math.h>\n#include<string.h>\n\nintmain0601()\n{\n\tchara[100]="10+10";\n\tintb;\n\tintc;\n\tsscanf(a,"%d+%d",&b,&c);\n\tprintf("%d+%d=%d\\n",b,c,b+c);\n}\n\nintmain0602()\n{\n\tchara[100]="43*25=";\n\tinti,j;\n\tcharc;\n\tsscanf(a,"%d%c%d=",&i,&c,&j);\n\tintres=0;\n\tswitch(c)\n\t{\n\tcase'+':\n\t\tres=i+j;\n\t\tbreak;\n\tcase'-':\n\t\tres=i-j;\n\t\tbreak;\n\tcase'*':\n\t\tres=i*j;\n\t\tbreak;\n\tcase'/':\n\t\tres=i/j;\n\t\tbreak;\n\tdefault:\n\t\tres=0;\n\t}\n\tprintf("%d%c%d=%d",i,c,j,res);\n}
6.strchr()字符查找函数
#include<stdio.h>\n#include<stdlib.h>\nintmain0701()\n{\n\tchara[100]="helloworld";\n\tchar*s;\n\ts=strchr(a,'l');\n\tif(s!=NULL)\n\tprintf("%s\\n",s);\n\treturn0;\n}
7.strstr()字符串中查找子串
#include<stdio.h>\n#include<stdlib.h>\nintmain0801()//字符串中查找子串\n{\n\tchara[100]="helloworld";\n\tchar*s;\n\ts=strstr(a,"llo");\n\tprintf("%s\\n",s);\n\treturn0;\n}
8.strtok()字符串分割函数
#define_CRT_SECURE_NO_WARNINGS\n#include<stdio.h>\n#include<stdlib.h>\n#include<math.h>\n#include<string.h>\nintmain0901()\n{\n\tchara[100]="abc_bce_123_456";\n\tchar*s;\n\ts=strtok(a,"_");\n\tprintf("%s\\n",s);\n\ts=strtok(NULL,"_");//第二次调用时,参数写NULL\n\tprintf("%s\\n",s);\n\ts=strtok(NULL,"_");\n\tprintf("%s\\n",s);\n\treturn0;\n}\nintmain0902()\n{\n\tchara[100]="abc_bce_123_456";\n\tchar*s;\n\ts=strtok(a,"_");\n\twhile(s)\n\t{\n\t\tprintf("%s\\n",s);\n\t\ts=strtok(NULL,"_");\n\t}\n\treturn0;\n}
9.atoi函数
#include<stdio.h>\n#include<stdlib.h>\nintmain10_01()//atoi()\n{\n\tchara[]="123";//将字符串转化为整数atoi()\n\tcharb[]="456";\n\tinti=atoi(a)+atoi(b);\n\tprintf("%d\\n",i);\n\treturn0;\n}
10.atof函数
#include<stdio.h>\n#include<stdlib.h>\nintmain10_02()//atof\n{\n\tchara[100]="3.555";\n\tdoublef=atof(a);\n\tprintf("%f\\n",f);\n\treturn0;\n}
11.将一个数字追加到字符串之后
#include<stdio.h>\n#include<stdlib.h>\nintmain10_03()//将100追加到abc之后\n{\n\tchara[100]="222";\n\tcharstr1[100]="abc";\n\tintnum=100;\n\tsprintf(a,"%d",num);\n\tstrcat(str1,a);\n\tprintf("%s\\n",str1);\n\treturn0;\n}
12.将字符串中的值求出
#define_CRT_SECURE_NO_WARNINGS\n#include<stdio.h>\n#include<stdlib.h>\n#include<math.h>\n#include<string.h>\n\nintmain011()\n{\n\tchara[100]="15+20=;22-11=;13*50=;70/20=";\n\tcharb[100]={0};\n\tchar*p=strtok(a,";");\n\twhile(p)\n\t{\n\t\tinti,j;\n\t\tcharc;\n\t\tintsum=0;\n\t\tsscanf(p,"%d%c%d=",&i,&c,&j);\n\t\tswitch(c)\n\t\t{\n\t\tcase'+':\n\t\t\tsum=i+j;\n\t\t\tbreak;\n\t\tcase'-':\n\t\t\tsum=i-j;\n\t\t\tbreak;\n\t\tcase'*':\n\t\t\tsum=i*j;\n\t\t\tbreak;\n\t\tcase'/':\n\t\t\tsum=i/j;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tsum=NULL;\n\t\t\tbreak;\n\t\t}\n\t\tchartemp[10]={0};\n\t\tsprintf(temp,"%s%d;",p,sum);\n\t\tstrcat(b,temp);\n\t\tp=strtok(NULL,";");\n\t}\n\tstrcpy(a,b);\n\tprintf("%s\\n",a);\n\treturn0;\n}
13.z自定义函数的调用和使用
#define_CRT_SECURE_NO_WARNINGS\n#include<stdio.h>\n#include<stdlib.h>\n#include<math.h>\n#include<string.h>\n\nintadd(inta,intb)//自定义函数\n{\n\treturna+b;\n}\nvoidtest()//定义一个自定义函数,没有返回值也没有参数\n{\n\tprintf("test\\n");\n}\nvoidtest1();//声明需调用的函数\nvoidtest2(inta);\nintmmax(inta,intb)\n{\n\treturn(a>b)?a:b;\n}\nintmain012()\n{\n\tinti=2;\n\tintj=3;\n\tintc=add(i,j);//调用函数\n\tprintf("%d\\n",c);\n\ttest();//调用一个没参数,没返回值的函数\n\ttest1();\n\ttest2(i);//i是实参,实参可以是变量、常量也可以是表达式\n\tintk=mmax(i,j);\n\tprintf("%d\\n",k);\n\treturn0;\n}\nvoidtest1()\n{\n\tprintf("test1\\n");\n}\nvoidtest2(inta)//其中a为形参\n{\n\tprintf("a=%d\\n",a);\n}
14.递归函数
好了,文章到此结束,希望可以帮助到大家。