当前位置: 首页 > news >正文

字符(串)函数

目录

字符分类函数

函数解释

 示例

字符转换函数

函数解释

示例

strlen()函数

函数解释

示例

strcpy()函数

函数解释 

示例

strcat()函数

函数解释

示例

strcmp()函数

函数解释

示例

限制长度的修正

strncpy

strncat

strncmp


字符分类函数

函数解释

1.字符分类函数是专⻔做字符分类的。

2.如果字符符合函数分类要求,则返回真;不符合则返回假。

 示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{printf("%d", islower('a'));return 0;
}
//2,为真。
//实现把字符串中的小写字母改成大写字母
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{char arr[] = "I am A student";int i = 0;while (arr[i] != '\0'){//if (arr[i] >= 'a' && arr[i] <= 'z')if(islower(arr[i])){arr[i] -= 32;}printf("%c", arr[i]);i++;}return 0;
}

1. 使用字符分类函数时,需要引入<ctype.h>头文件。

2. 字符分类函数的库函数查询:<cctype> (ctype.h) - C++ Reference (cplusplus.com)

字符转换函数

函数解释

C语⾔提供了2个字符转换函数:

1.int tolower()//转化成小写
2.int toupper()//转化成大写

示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <ctype.h>
int main()
{char arr[] = "I am A student";int i = 0;while (arr[i] != '\0'){//if (arr[i] >= 'a' && arr[i] <= 'z')if (islower(arr[i])){arr[i] = toupper(arr[i]);}printf("%c", arr[i]);i++;}return 0;
}

1.使用字符分类函数时,需要引入<ctype.h>头文件。

2. 字符分类函数的库函数查询:<cctype> (ctype.h) - C++ Reference (cplusplus.com)

strlen()函数

函数解释

1.字符串以 '\0' 作为结束标志,strlen函数返回的是在字符串中 '\0' 前⾯出现的字符个数(不包含 '\0' )。

2.参数指向的字符串必须要以 '\0' 结束,否则返回随机值。

3.注意函数的返回值为 size_t,是⽆符号的( 易错 )。

4.strlen的使⽤需要包含头⽂件<string.h>.

示例

#include <stdio.h>
#include <string.h>
int main()
{const char* str1 = "abcdef";const char* str2 = "bbb";if(strlen(str2)-strlen(str1)>0){printf("str2>str1\n");} else{printf("srt1>str2\n");}return 0;
}
//结果是第一种。

strcpy()函数

函数解释 

1. strcpy----string copy,字符串复制。

2. strcpy(arr1,arr2),先把arr1内容清空,再把arr2的内容拷贝到arr1中,返回arr1。

3. 源字符串必须以'\0'结束。

4. 目标字符串必须能修改。

5. strcpy()函数的使⽤需要包含头⽂件<string.h>.

示例

strcpy(目标字符串,源字符串);
#include <stdio.h>
#include <string.h>
int main()
{char arr2[] = { "hello bit" };char arr1[15] = { 0 };printf("%s", strcpy(arr1, arr2));arr1=arr2;//报错,相当于3=5return 0;
}

strcat()函数

函数解释

1. strcat--string contact,字符串拼接函数。

2. 两个字符串必须以 '\0' 结束。(与函数运行原理有关)

3. strcat()函数的使⽤需要包含头⽂件<string.h>.

4. strcat(arr1,arr2)函数把arr2加在arr1后面,然后得到的是最新的arr1。

5. arr1需要有足够的空间,并且可以改变。

示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{char arr1[20] = "hello ";char arr2[10] = "world";printf(strcat(arr1, arr2));return 0;
}

strcmp()函数

函数解释

1. strcmp--string compare,字符串或者数组之间的比较。

2. 字符串不能直接(==)进行比较,需要运用strcmp()函数。

3. strcmp(arr1,arr2);如果arr1>arr2,返回>0的值;如果arr1<arr2,返回<0的值;如果arr1=arr2,返回0.

示例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main()
{char arr1[20] = "abce";char arr2[10] = "abcd";printf("%d",strcmp(arr1, arr2));return 0;
}

限制长度的修正

strncpy

1.拷⻉num个字符从源字符串到⽬标空间。

2. 如果源字符串的⻓度⼩于num,则拷⻉完源字符串之后,在⽬标的后边追加0,直到num个。

#include <stdio.h>
#include <string.h>
int main()
{char arr1[] = { "hello bit" };char arr2[15] = { "woshishei"};printf( strncpy(arr2, arr1,3));//只针对双方前三个字符return 0;
}

strncat

1.同上

#include <stdio.h>
#include <string.h>
int main()
{char arr1[30] = { "hello bit" };char arr2[15] = { "woshishei"};printf( strncat(arr2, arr1,5));return 0;
}

strncmp

1.同上

#include <stdio.h>
#include <string.h>
int main()
{char arr1[30] = { "abce" };char arr2[15] = { "abcd"};printf("%d" ,strncmp(arr2, arr1, 3));return 0;
}


http://www.mrgr.cn/news/31091.html

相关文章:

  • 分享三款简单好用的文档翻译软件
  • 新峰商城之购物车(二)
  • 常用前端框架对比和选择
  • 高德地图JS API AMap.MouseTool绘制
  • java 面向对象的注意点
  • Elasticsearch集群的运维与管理
  • 相亲交友系统源码 连接你我,不再孤单
  • 基于51单片机的电子秒表设计
  • 【VUE3.0】动手做一套像素风的前端UI组件库---先导篇
  • C++ | 二叉搜索树
  • 【vue3】vue3.3新特性真香
  • Linux——常用系统设置和快捷键操作指令
  • 使用MinIO+PicGo在服务器搭建图床
  • Vue.js与Flask/Django后端配合
  • 数据结构之二叉树查询
  • 对接金蝶云星空调用即时库存信息查询API(附JAVA实现)
  • 3.MySQL库和表的操作
  • 一些线上常用排查问题的命令
  • 前端vue-ref与document.querySelector的对比
  • 一招搞定Nginx安装