第一次笔记:关于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、还可以直接对字符串的长度。