当前课程知识点:C语言程序设计 > 第7章 数组 > 7.6 字符串操作的常用函数 > 字符串操作的常用函数
同学们
大家好
今天我们来学习C语言中
字符串操作的常用函数
这一节我们来介绍专用的字符串处理函数
1. puts函数
首先我们来介绍字符串的输出函数puts
这个函数的功能是
用来把一个字符数组中存放的字符串
输出到终端屏幕
或者把一个字符串常量输出到终端屏幕
该函数的参量
可以是一个字符数组名
也可以是一个字符串常量
甚至可以是一个
返回字符数组首地址的任意表达式
由于可以printf函数输出字符串
因而puts输出函数用处不是特别多
2.gets函数
这个函数的功能是
从键盘输入一个字符串
存到相应的字符数组当中
并得到一个函数返回值
该函数的返回值是字符数组的起始地址
这个函数的参量必须是字符数组名
或相当于字符数组首地址的表达式
使用gets函数时
输入的字符串当中可以包含空格符
这一点是scanf函数所做不到的
gets函数只有遇到回车符时
才表示一个字符串输入的结束
3. strcat函数
此函数的功能是
把两个字符数组对应的字符串连接在一起
它使用两个参量
第一个参量
用来表示存放连接后的字符串的首地址
第二个参量
表示将要连接到其后的字符串
其中把第2个字符串连接到
第1个字符串的后面
使用这个函数时
一定要特别注意第1个字符数组的空间
必须能够容纳连接后的整个串
而第二参量没有限制
可以是字符数组名
也可以是字符串常量
甚至可以是一个返回字符串首地址的
任意表达式
4.strcpy函数
该函数的功能是
把一个字符串复制到
另外一个字符数组当中去
其中第一参量是
用来存放复制结果的字符数组名
第二参量是被复制的字符串表达式
它可以是字符数组
也可以是字符串常量
可以是任何一个返回字符数组首地址的表达式
由于第一参量是用来存放复制结果的
它必须是一个字符数组名
由于字符串是一个字符数组
是一种构造类型
在c语言中是
不允许对字符数组进行直接赋值的
这个时候
我们就需要利用strcpy函数
将一个字符串赋值到另外一个字符数组当中去
以实现原本的字符串赋值功能
这里需要注意一个问题
在字符数组初始化的时候
我们可以用一个字符串常量去初始化一个字符数组
但却不能在语句执行的过程当中
把一个字符串直接赋值给一个字符数组
5.strcmp函数
该函数的功能是
比较两个字符串的大小关系
返回一个代表字符串关系的整型值
此函数的两个参量
比较灵活
可以是一个任意的字符串表达式
既可以是字符串变量
也可以是字符串常量
在c语言中
两个字符串的比较规则是
两个字符串相应的字符依次进行比较
直到出现不同字符时
或遇到字符串结束符时为止
如果两个字符串
字符数量相同
每一个字符也相同
则认为这两个串相等
若出现不同的字符
则以第1个不同字符的比较结果为准
字符之间的大小关系是通过减法比较来实现的
因而当该函数返回一个大于0的整数时
表示第1个字符串比第2个字符串大
而返回结果为零时
表示两个字符串相等
当返回一个负数时
表示第1字符串比第2字符串小
如前面所述
我们不能对两个字符串常量进行直接的关系比较
也不能对两个字符数组进行直接地比较
因为它们都是构造数据类型
这个时候
我们就必须要使用strcmp函数
来实现相应的比较功能
6.strlen函数
此函数的功能比较简单
它的功能是
用来计算一个字符串的实际有效字符的个数
字符串长度
函数的返回值
是一个整型值
是字符串中实际有效字符的个数
不包括字符串结束符所站的字符位置
7. strlwr函数
该函数的作用是将一个字符串表达式中的
所有大写字母转换成小写小写格式
8.strupr函数
该函数的功能和strlwr函数相反
它的作用是将字符串中所有的
小写字母转换成大写字母格式
以上我们介绍了8个常用的字符串函数
事实上
有关字符串的函数还有很多
有兴趣同学可以参照相关的帮助文档
进一步了解
同学们
今天的内容就讲到这里
我们下一节课再见
-计算思维与计算机
--计算思维与计算机
--计算思维与计算机
--计算思维和计算机
-2.1 程序设计语言的发展及其特点和应用
--程序设计语言的特点及发展
- 2.2 C语言程序的基本结构及编制C语言程序的基本步骤
--C语言程序的结构和编制步骤
-3.1 C语言的数据类型
--C语言的数据类型
--C语言的数据类型
-3.2 常量
--常量
--常量
-3.3 什么是变量
--什么是变量
--什么是变量
-3.4 如何进行算术运算
--如何进行算术运算
--如何进行算术运算
-3.5 赋值运算符和逗号运算符
--赋值运算符和逗号运算符
-3.6 数据类型转换
--数据类型转换
--数据类型转换
-4.1 格式化输出printf
--格式化输出
-4.2 格式化输入scanf及字符数据的非格式化输入输出
--格式化输入
-5.1 关系运算符和关系表达式
--关系运算符和关系表达式
-5.2 逻辑运算符和逻辑表达式
--逻辑运算符和逻辑表达式
-5.3 条件运算符和条件表达式
--条件运算符和条件表达式
-5.4 if语句
--if语句
--if语句
-5.5 switch语句
--switch语句
--switch语句
-6.1 while语句
--while语句
--while语句
--do-while语句
-6.2 for语句
--for语句
--for语句
-6.3 循环的嵌套
--循环的嵌套
--循环的嵌套
-6.4 break语句和continue语句
--break和continue语句
-7.1 一维数组的定义和引用
--一维数组的定义和引用
-7.2 一维数组的赋值
--一维数组的赋值
--一维数组的赋值
-7.3 二维数组的定义和引用
--二维数组的定义和引用
-7.4 二维数组的赋值
--二维数组的赋值
--二维数组的赋值
-7.5 字符串的本质
--字符串的本质
--字符串的本质
-7.6 字符串操作的常用函数
--字符串常用函数
-7.7 字符串数组
--字符串数组
--字符串数组
-8.1 函数概述
--函数概述
--函数概述
-8.2 有参函数
--有参函数
--有参函数
-8.3 函数参数的传递方式
--函数参数的传递方式
-8.4 变量的作用域和生存期
--变量的作用域和生存期
-8.5 变量的存储类型
--变量的存储类型
--变量的存储类型
-8.6 函数的嵌套和递归调用
--函数的嵌套和递归调用
-8.7 函数的作用域与封装
--函数的作用域与封装
-9.1 指针变量的概念(上)
--指针变量的概念(上)
-9.2 指针变量的概念(下)
--指针变量的概念(下)
-9.3 指向一维数组的指针变量
--指向一维数组的指针变量
-9.4 指向二维数组的指针变量(上)
--指向二维数组的指针变量(上)
-9.5 指向二维数组的指针变量(下)
--指向二维数组的指针变量(下)
-9.6 动态内存分配
--动态内存分配
--动态内存分配
-10.1 编译预处理
--编译预处理
-11.1 用户自己建立数据类型
--用户自己建立数据类型
-11.2 定义结构体类型变量
--定义结构体类型变量
-11.3 结构体变量的引用与初始化
-11.4 结构体数组
--结构体数组
--结构体数组
-11.5 指向结构体类型数据的指针
--指向结构体类型数据的指针
-12.1 文件的基本概念和文件指针
--文件的基本概念和文件指针
-12,2 文件的打开和关闭
--文件的打开和关闭
--文件的打开和关闭
-12.3 文本文件读写
--文本文件读写
--文本文件读写
-12.4 二进制文件读写
--二进制文件读写
--二进制文件读写