前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >字符串的常用函数

字符串的常用函数

作者头像
pigeon
发布2022-04-11 17:49:16
5350
发布2022-04-11 17:49:16
举报
文章被收录于专栏:电子荣耀
C语言中设计了一些专门用于处理字符串的函数,常称为字符串函数,除了前面介始的gets和puts以外,还有如下函数:

1. 字符串连接函数strcat

函数调用的一般形式:

strcat(字符数组1, 字符数组2)

其作用是把两个字符数组中的字符串连接起来,把字符串2连接到字符串1后面,结果放在字符数组1中,函数调用后返回值是字符数组1的地址。例如:

代码语言:javascript
复制
char str1[20] = "hello "; char str2[] = "world";
strcat(str1, str2); puts(str1);

运行上面代码的输出结果是:

hello world

2. 字符串复制函数strcpy和strncpy

函数调用的一般形式分别如下:

strcpy(字符数组1, 字符串2)

strncpy(字符数组1, 字符串2, n)

strcpy函数的作用是把字符串2复制到字符数组1中;strncpy函数的作用是把字符串2的前n个字符组成的字符串复制到字符数组1中。例如:

代码语言:javascript
复制
char str1[30], str2[30]; char str3[] = "hello world";
strcpy(str1, str3); strncpy(str2, str3, 5);
puts(str1); puts(str2);

上述代码运行的输出结果是:

hello world

hello

3. 字符串比较函数strcmp

函数调用的一般形式:

strcmp(字符串1, 字符串2)

其作用是比较字符串1和字符串2之间的大小关系。字符串的比较过程是将两个字符串从第1个字符开始向右逐个比较每个字符,直到出现字符不相同或其中一个字符串出现字符串结束标记'\0'为止。字符比较的依据是按照其ASCII码值。比较的结果有以下3种情况:

(1)如果两个字符串长度相同且对应的每个字符都相同,则字符串1等于字符串2,函数值为0。

(2)如果出现不同字符时,字符串1的字符大,则字符串1大于字符串2,函数值为正整数。

(3)如果出现不同字符时,字符串2的字符大,则字符串1小于字符串2,函数值为负整数。

例如:

代码语言:javascript
复制
int flag;
flag = strcmp("China", "Chinese");
if(flag > 0)      printf("China > Chinese\n");
else if(flag <0)  printf("China < Chinese\n");
else              printf("China == Chinese\n");

运行上述代码的输出结果是:

China < Chinese

4. 计算字符串长度函数strlen

函数调用的一般形式:

strlen(字符串)

其作用是计算字符串的长度,结果以函数值的形式得到。字符串的长度是字符串中字符的个数,不包括字符串结束标记'\0'在内。可以计算字符串常量和字符数组中字符串的长度,例如:

代码语言:javascript
复制
char str1[30] = "China";
printf("%d\n", strlen(str1));
printf("%d\n", strlen("Chinese"));

5. 字符串大小写转换函数strlwr和strupr

strlwr函数和strupr函数调用的一般形式:

strlwr(字符数组名)

strupr(字符数组名)

strlwr函数的作用是将字符串中的所有大写字母转换成对应的小写字母。strupr函数的作用是将字符串中的所有小写字母转换成对应的大写字母。

相同函数

例:从键盘输出一个字符串,不使用strlen函数,计算并输出该字符串的长度。

思路分析:计算字符串的长度实际上就是统计一个字符串中共有多少个字符,是一个典型的计数问题。这类问题使用循环结构来实现,从字符串的第1个字符开始计数,当碰到字符串结束标记'\0'为止。

参考答案:

代码语言:javascript
复制
 #include <stdio.h>
   #include <string.h>
   int main()
   {
       char str[];   //定义字符数组存放字符串
       int length;
       printf("Input a String:");
       gets(str);      //输入一个字符串,存放在数组str中
       length = ;     //长度初始值为0
       while(str[length] != '\0')
       {
           length++;
       }
       printf("length=%d\n", length);
       return ;
   }

结果示例:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子荣耀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 字符串连接函数strcat
  • 2. 字符串复制函数strcpy和strncpy
  • 3. 字符串比较函数strcmp
  • 4. 计算字符串长度函数strlen
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档