区别字符输入函数scanf(),gets(),fgets(str,max,file),cin,getline(cin, str), cin.getline(str[], max),getchar()

区别scanf(),gets(),fgets(str,max,file),cin,getline(cin, str), cin.getline(str[], max),getchar()
1、scanf()会遇到空格回车停止,字符串中末位是’\0’,但输入形式灵活
2、gets()一次输入一行字符串,可以接收空格,遇见‘\n’停止,并不接收’\n’,若使用puts()输出时,会自动输出’\n’
在这里插入图片描述
在这里插入图片描述
3、fgets()实为文件读入fgets(字符数组,最大输入位,文件),若为键盘输入,第三个参数则为stdin(标准输入),fgets()遇见‘\n’停止,并实际接收’\n’
在这里插入图片描述
4、如若使用string容器,只能使用与cin有关的函数如,cin,getline(cin, str)
4.1、cin会遇到空格和换行停止
4.2、getline(cin, str),可以接收空格
5、cin.getline()是C++针对字符数组特有的输入方式,cin.getline(字符数组,最大输入位),可以接收空格,不会接收‘\n’
6、getchar()输入单个字符,通常使用getchar()来吃掉前面的换行符

关于读入速度的比较
gets()/fgets() > scanf() > cin/getline(最慢)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值