易弄混的字符函数汇总

1.scanf函数

读取字符串时scanf("%s",str),遇到空格、回车时结束输入,如果str是字符数组则自动加’\0’,并将空格、回车(换行)留在缓冲区,可能影响后续输入

2.gets函数

读取字符串时gets(str),遇到空格将它普通字符读入,遇到回车时将回车变为’\0’存入str,此时缓冲区中无回车,不影响后续输入

3.printf函数

正常输出即可,没什么好讲的

4.puts函数

输出字符串时会在字符串结尾处输出’\n’,puts(str)等价于printf("%s\n",str),所以隐含着自动换行的功能,注意:针对字符数组中无’\0’或者非字符串不要用puts输出,因为puts遇到’\0’才会停止输出

5.fscanf函数

从文件中读取一段字符存入缓冲区,遇到空格或者回车就结束,并将空格或者回车拿出来转换成’\0’读入指定变量中,并结束本次读取

6.fgets函数

从文件中读取一段字符存入缓冲区,遇到空格照常存入,遇到回车时证明输入结束,但也会将回车读入缓冲区,然后后面还会自动加个’\0’,所以它隐含着换行效果,可以用a[strlen(a)-1]=’\0’方式消去换行符,详解见收藏《fgets和gets函数的区别》

7.fprintf函数

照常将指定位置内容写进文件,没什么好讲的

8.fputs函数

fputs 函数用来向指定的文件写入一个字符串(不换行),遇到’\0’时才停止写入,不会多写入换行符

我们知道,puts 函数主要用于向标准输出设备(屏幕)写入字符串并换行,即自动写一个换行符(’\n’)到标准输出。理论上,该函数的作用与“printf("%s\n",str);”语句相同。但是,puts 函数只能输出字符串,不能进行相关的格式变换。与此同时,它需要遇到 null(’\0’) 字符才停止输出。因此,非字符串或无 null(’\0’) 字符的字符数组最好不要使用该函数打印,否则无法正常结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值