C语言中重要函数

来源:互联网 发布:鸿鹊 知乎 编辑:程序博客网 时间:2024/05/21 17:04

字符串处理函数

1. puts函数

其一般形式为puts(字符数组)

其作用是将一个字符串(0′结束的字符序列)输出到终端并加上换行符

假如已定义str是一个字符数组名,且该数组已被初始化为"China"。则执行puts(str);其结果是在终端上输出China

puts函数输出的字符串中可以包含转义字符

例如:

charstr[]={″China\nBeijing″};

puts(str);

输出结果:

China

Beijing                 

在输出时,将字符串结束标志0转换成n即输出完字符串后换行

2.gets函数

其一般形式为:gets(字符数组)

  其作用是从终端输入一个字符串到字符数组。该函数值是字符数组的起始地址。

1gets以回车键表示输入结束,scanf以回车键和空格表示输入结束。如输入的字符中含有空格,则使用gets

2、因为gets函数未能指定缓冲区大小,Linux中将提醒warning:the `gets' function is dangerous and should not be used.程序将该语句跳过不执行

如执行下面的函数:     gets(str)

从键盘输入:

Computer↙将输入的字符串"Computer"送给字符数组str

以下 的字符串处理函数需要加入头文件#include<string.h>

3. strlen函数

其一般形式为:  strlen (字符数组)

strlen是测试字符串长度的函数。函数的值为字符串中的实际长度(不包括0′在内)sizeof()则包括'\0'

例如:charstr10={″China″};

    printf(″%d″strlen(str));

4. strcat函数

其一般形式为:strcat(字符数组1,字符数组2)

Strcat的作用是连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值——字符数组1的地址

5. strcpy函数

其一般形式为:strcpy(字符数组1,字符串2)

strcpy是“字符串复制函数”。

作用:是将字符串2复制到字符数组1中去。例如:

charstr1[10],str2[]={″China″};

strcpy(str1,”china”);

关于strcpy函数的几点说明

1)字符数组1必须定义得足够大,以便容纳被复制的字符串。字符数组1的长度不应小于字符串2的长度。

2“字符数组1必须写成数组名形式(str1)

“字符串2可以是字符数组名,也可以是一个字符串常量。如:strcpy(str1″China″)

3复制时连同字符串后面的0′一起复制到字符数组1中。

4可以用strcpy函数将字符串2中前面若干个字符复制到字符数组1中去。

例如:strncpy(str1str22);作用是将str2前面2个字符复制到str1中去,然后再加一个‘\0’

5)不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。如:

   str1=″China″;  不合法

   str1=str2;       不合法

strcpy函数只能将一个字符串复制到另一个字符数组中去。
用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。
下面是合法的使用:

chara[5],c1c2;

c1=′A′;  c2=′B′;

a0=′C′;a1=′h′;a2=′i′;

a3=′n′;a4=′a′;

6. strcmp函数

其一般形式为:strcmp(字符串1,字符串2)

strcmp的作用是比较字符串1和字符串2

例如:strcmp(str1str2);

      strcmp(″China″″Korea″);

      strcmp(str1″Beijing″);

比较的结果由函数值带回

(1)如果字符串1=字符串2,函数值为0

(2)如果字符串1>字符串2,函数值为一正整数。

(3)如果字符串1<字符串2,函数值为一负整数。

注意:对两个字符串比较,不能用以下形式:

if(str1>str2)

  printf(″yes″);

而只能用

if(strcmp(str1str2)>0)

  printf(″yes″);


原创粉丝点击