字符串函数(day11)
使用存储区的地址作为返回值可以让调用
函数使用被调用函数的存储区
这种时候被调用函数需要提供一个指针类型
的存储区记录作为返回值的地址数据
不可以把非静态局部变量的地址作为返回值
使用 C语言里的文字信息必须记录在一组连续
的字符类型存储区里
所有文字信息必须以'\0'字符做结尾,这个
字符的ASCII码就是数字0
符合以上两个特征的内容可以用来在C语言
程序里表示文字信息,它们叫做字符串
字符串里'\0'字符前面的部分是有效字符
所有字符串都可以采用字符类型指针表示 字符串字面值是表示字符串的一种方法,
用两个双引号中间包含的一组字符
表示字符串字面值(例如"dsg","^*&*@"等)
编译器在编译的时候会自动在字符串字面值的
末尾追加'\0'字符
编译器会把字符串字面值替换成第一个字符
所在存储区的地址
字符串字面值的内容在程序执行过程中不
可以改变
程序里内容一样的字符串字面值是同一个
多个并列的字符串字面值会被合并成一个 字符数组也可以用来记录字符串
只有包含'\0'字符的字符数组才可以当作
字符串使用
可以使用字符串字面值对字符数组进行初始化,
编译器会把字符串字面值里的'\0'字符
初始化到字符数组里
字符数组里字符串内容可以修改 在printf函数调用语句里使用%s做占位符可以
把字符串里所有有效字符显示在屏幕上 不可以使用操作符对字符串进行操作,应该
使用一组标准函数
为了使用这组标准函数需要包含string.h头文件
strlen 用来统计字符串里有效字符
的个数
和sizeof关键字完全不同
strcat 用来把两个字符串合并成
一个字符串
这个函数有可能修改不属于
数组的存储区,这会造成
严重错误
strncat 功能和strcat函数类似
这个函数可以避免strcat的
错误
strcmp 用来比较两个字符串的大小
根据字符ASCII码比较两个
字符串的大小
返回值是0表示两个字符串
一样大
返回值是1表示第一个参数
代表的字符串大
返回值是-1表示第二个参数
代表的字符串大
strncmp 用来比较两个字符串前n个
字符的大小
strcpy 用来把一个字符串的内容
复制到字符数组里
这个函数也可能修改不
属于数组的存储区,
这会造成严重错误
strncpy 功能和strcpy类似
只复制字符串里前n个字符,
这样可以避免问题
有可能不复制'\0'字符
memset 用来把字符数组里多个
连续的字符类型存储区
内容设置成同一个字符
strstr 从一个大字符串里查找
小字符串的位置
如果找不到就返回NULL 以下两个函数不需要包含string.h头文件
sprintf 把多个数字按照格式拼凑成
字符串并记录到字符数组里
sscanf 从字符串里获得多个数字并记录
到存储区里 以下两个函数需要包含stdlib.h头文件
这两个函数可以把字符串里的数字转换
成数字类型
atoi 这个函数可以把字符串里开头
的整数部分转换成整数类型
atof 这个函数可以把字符串里开头
的浮点数部分转换成双精度
浮点类型 在scanf函数调用语句里使用%s做占位符
可以把用户在键盘上输入的字符串记录
到字符数组里
这种方法有可能造成严重问题 fgets函数也可以把键盘上输入的字符串
记录到字符数组里
这个函数可以避免scanf函数的问题
这个函数需要三个参数
.数组名称
.数组里的存储区个数
.用stdin表示键盘 如果用户输入的内容不能把数组充满就把
用户最后输入的回车当作'\n'字符也
放到字符数组里
如果用户输入的内容超过数组的范围就把
多余的部分留在输入缓冲区里等
下次读 在每次使用fgets函数从键盘得到字符串以后
都应该把可能存在的多余数据清理掉
清理多余数据的语句应该放在分支里,分支
要保证输入缓冲区里有多余数据的时候
才进行清理
字符串函数(day11)的更多相关文章
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
- SQL字符串函数
LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...
- Python3中的字符串函数学习总结
这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...
- TSQL 字符串函数:截断和查找
字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...
- c#编程基础之字符串函数
c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...
- SQLSERVER常见系统函数之字符串函数(一)
好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...
- python笔记-字符串函数总结
字符串函数: chr() 数字转ASCII chr(96)="a" ord() ASCII转数字 ord("a")=96 isspace() 判断是否为空格 s ...
- Sql Server函数全解<一>字符串函数
阅读目录 1.ASCII()函数 2.CHAR()函数 3.LEFT()函数 4.RIGHT()函数 5.LTRIM()函数 6.RTRIM()函数 7.STR()函数 8.字符串逆序的函数REVER ...
- Sql Server系列:字符串函数
字符串函数用于对字符和二进制字符串进行各种操作,大多数字符串函数只能作用于char.nchar.varchar和nvarchar数据类型.字符串函数可以用在SELECT或者WHERE语句中. 1. A ...
- 前端学PHP之字符串函数
× 目录 [1]特点 [2]输出 [3]空格[4]大小写[5]HTML[6]格式化[7]比较 前面的话 字符串的处理和分析在任何编程语言中都是一个重要的基础,往往是简单而重要的.信息的分类.解析.存储 ...
随机推荐
- UITextView上加入默认文字
1. 实现UITextView的代理方法 text.view.delegate = self; 2. 在UITextView上覆盖UILabel ps:必须实现 label.enabled = NO; ...
- 在win10下改变默认的输入法切换Ctrl+Space
在win10下改变默认的输入法切换Ctrl+Space 学习了:https://www.zhihu.com/question/22288432 在win10下面,有两种风格的控制面板设置: 在输入法上 ...
- oracle capability i/o(压力測试数据库serveri/o性能)
今天是2014-04-21,今天简单仅仅说明一下怎么影响重做数据的一个因素,那就是i/o吞吐量,oracle的介质恢复依赖于i/o,假设i/o存在瓶颈,那么势必会影响备库的介质恢复. 那么i/o st ...
- 菜鸟学Java(二十二)——又一次认识泛型
泛型是Java SE 1.5的新特性,泛型的本质是參数化类型,也就是说所操作的数据类型被指定为一个參数.这样的參数类型能够用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语言 ...
- oc40--类的启动过程
// // main.m // 类的启动过程 #import <Foundation/Foundation.h> #import "Person.h" #import ...
- RK摄像头移植【转】
本文转载自:http://wiki.t-firefly.com/index.php/Firefly-RK3288/Camera 板载资源 Firefly-RK3288 开发板带有一个 MIPI 摄像头 ...
- Codeforces--630D--Hexagons(规律)
D - Hexagons! Crawling in process... Crawling failed Time Limit:500MS Memory Limit:65536KB ...
- ZOJ 2314 无源汇可行流(输出方案)
Time Limit: 5 Seconds Memory Limit: 32768 KB Special Judge The terrorist group leaded by a ...
- poj2594——最小路径覆盖
Description Have you ever read any book about treasure exploration? Have you ever see any film about ...
- 267C
二分+高斯消元 我们利用物理里的势能来表示,每个点有一个势能h,再由流量守恒可以得到deg[x]*h[x]=sigma(h[y]) 如果x,y之间有边.这个式子是由流量守恒推出的,所以当x=1或n是不 ...