第一次笔记:关于C语言积累
感谢大家阅览,记得看完点赞啦!
C语言编译系统中提供了很多有关字符串处理的库函数,这些库函数为字符串处理提供了方便,下面总结下几种有关字符串处理的函数。
一、输出字符串函数puts:
格式:puts(字符数组名) ;
功能:puts函数用于输出一个以"\0"结尾的字符串,在输出时将"\0"转换为"\n",且输出的字符串中可以包含转义字符。
使用puts函数输出字符串时,需要使用#include命令将"stdio.h"头文件包含到源文件中。
二、输入字符串函数gets:
格式:gets(字符数组名);
功能:gets函数用于将输入的字符串内容存放到指定的字符数组中。
使用gets函数输入字符串时,需要使用#include命令将"stdio.h"头文件包含到源文件中。
在使用gets函数和puts函数时只能输入或输出一个字符串,不能写成puts(str1,str2)或gets(str1,str2)
三、字符串复制函数strcpy:
格式:strcpy(字符数组名,字符串名);
strcpy(字符数组名1,字符数组名2);
功能:将字符串内容复制到字符数组中。
注意:若将字符串或字符数组2前面的若干个字符复制到字符数组1中,则应用strncpy函数,其格式为:strncpy(字符数组,字符串,字符个数);
或strncpy(字符数组1,字符数组2,字符个数);
.....
static char str2[]=["How are you?"];
char str1[20];
strncpy(str1,str2,3);
.....
....
char str[20];
strncpy(str,"computer",3);
....
四、字符串比较函数strcmp:
格式:strcmp(字符串名1,字符串名2);
功能:将两个字符串的对应字符自左至右逐个进行比较(按照ASCII码值的大小),直到出现不同字符或遇到“\0”字符为止。比较结果由函数值带回。
说明:1、字符数组1必须足够长,以便容纳字符数组2中的全部内容,即:
static char str1[20]="Happy ";
static char str2[10]="New Year!";
strcat(str1,str2);
2、在连接前两个字符串后面都有一个'\0',连接时将字符数组1后面的"\0"去掉,只在新字符串后面保留一个"\0";
3、使用strcat函数连接两个字符串时,应使用#include命令将"string.h"头文件包含到源文件中;
4、strcat函数的返回值是字符数组1的地址。
五、字符串连接函数strcat:
格式:strcat(字符数组名1,字符数组名2);
功能:将字符数组2的内容连接到字符数组1 的后面,并在最后加一个“\0”,且将结果存放在字符数组1中。
注意:1、字符数组必须足够长,以便容纳字符数组2中的全部内容;
2、 连接前两个字符串后面都有一个'\0',连接时将字符数组1后面的“\0”去掉,只在新字符串后面保留一个“\0”;
3、使用strcat函数连接两个字符串时,应使用#include命令将“string.h”头文件包含到源文件中;
4、strcat函数的返回值是字符数组1的地址。
.....
char str1[20]={"This is a"};
char str2[]={"string."};
printf("%s",strcat(str1,str2));
....
程序运行结果:
This is a stirng.
也可用下面语句代替:
....
strcat(str1,str2);
printf("%s",str1);
六:测试字符串长度函数strlen:
格式:strlen(字符数组);
strlen(字符串);
功能:测试字符数组中字符串的长度。
1、函数值不包括'\0'在内的字符数组的实际长度值;
2、还可以直接对字符串的长度。