字符串输入控制:与空格、回车的输入相关的几种函数

cin、cin.getline()、getline()的用法

主要内容:
1、cin 用法
2、cin.getline()用法
3、getline()用法
4、注意的问题

一、cin>>
用法 1:输入一个数字或字符

#include <iostream>
using namespace std;
int main ()
{int a,b;cin>>a>>b; cout<<a+b<<endl;
}

用法 2:接收一个字符串,遇“空格”、“TAB”、“回车”就结束

#include <iostream>
using namespace std;
int main ()
{char a[20];cin>>a;cout<<a<<endl;
}

输入:jkljkljkl
输出:jkljkljkl
输入:jkljkl jkljkl //遇空格结束
输出:jkljkl

二、cin.getline()
用法:接收一个字符串,可以接收空格并输出,可读入换行符

#include <iostream>
using namespace std;
int main ()
{char m[20];cin.getline(m,5);cout<<m<<endl;
}

输入:jkljkljkl 输出:jklj
接收 5 个字符到m 中,其中最后一个为’\0’,所以只看到 4 个字符输出;

如果把 5 改成 20:
输入:jkljkljkl
输出:jkljkljkl
输入:jklf fjlsjf fjsdklf
输出:jklf fjlsjf fjsdklf
延伸:
1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)
2、当第三个参数省略时,系统默认为’\0’
3、如果将例子中cin.getline()改为cin.getline(m,5,‘a’);当输入jlkjkljkl 时输出 jklj,输入 jkaljkljkl 时,输出 jk

三、getline()
用法:接收一个字符串,可以接收空格并输出,需包含“#include”

#include<iostream>
#include<string>
using namespace std;
int main ()
{string str;getline(cin,str);cout<<str<<endl;
}

输入:jkljkljkl
输出:jkljkljkl
输入:jkl jfksldfj jklsjfl
输出:jkl jfksldfj jklsjfl

四、注意的问题
1、cin.getline()属于istream 流,而getline()属于string 流,是不一样的两个函数
2、当同时使用 cin>>,getline()时,需要注意的是,在cin>>输入流完成之后,getline()之前,需要通过

str="\n";
getline(cin,str);

的方式将回车符作为输入流 cin 以清除缓存,如果不这样做的话,在控制台上就不会出现 getline()的输入提示,而直接跳过,因为程序默认地将之前的变量作为输入流。

字符串输入控制:与空格、回车的输入相关的几种函数相关推荐

  1. UNIX_C 环境下实现输入一个字符,不用回车直接输入功能(类型windows下_getch(void)函数)

    UNIX_C 环境下实现输入一个字符,不用回车直接输入功能(类型windows下_getch(void)函数) /*int getch ( void ); 输入流获取一个信号当键盘输入一个字符时,不用 ...

  2. OpenGL基础15:输入控制

    接上一章:OpenGL基础14:摄像机 现在来尝试通过输入控制摄像机 一.键盘输入 其实从第一章开始,代码里面一直都有实现键盘输入: void key_callback(GLFWwindow* win ...

  3. C语言之字符串探究(九):空格去除——trim系列

    相关博文:C++之char和string字符串类探究 相关博文:C语言之数组探究(一):定义.大小.初始化.访问和三要素 相关博文:C语言之字符串探究(一):字符串与字符数组 相关博文:C语言之字符串 ...

  4. python统计字符串中单词个数、单词之间用空格分割_输入一行字符,统计其中有多少个单词,单词之间用空格分隔开...

    展开全部 1.打开visualC++6.0-文件-新建62616964757a686964616fe59b9ee7ad9431333433633336-文件-C++SourceFile. 2.定义数组 ...

  5. C语言 scanf输入回车或空格时停止输入

    main() {int i,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]); } 输入一个数字再按空格会继续读入数字,如果输入的数据 ...

  6. Java复习:如何接受键盘输入的包含空格的字符串

    文章目录 package Remain;import java.io.BufferedReader; import java.io.IOException; import java.io.InputS ...

  7. c语言中gets函数可以输入空格吗_C语言中printf和gets函数的实用技巧

    Printf函数输出的格式与方法: 想要一起学习交流,或者系统学习c++的可以加553014383,邀请码:悟空,裙内有众多资源及解答老师. 1.输出数字的时候存在宽度和精度,那对于数字而言,输出数字 ...

  8. 编写一个函数,该函数能判断一个英文句子str(带空格)中是否含有某个单词w,如“How old are you?”含有“old”。在main函数中输入一个英文句子,再输入一个单词,如果英文句子中含有那

    题目要求: 编写一个C程序,实现以下功能: 编写一个函数,该函数能判断一个英文句子str(带空格(升级版))中是否含有某个单词w,如"How old are you?"含有&quo ...

  9. scanf()函数错误把输入缓存里的回车作为一次字符输入

    有时我们会需要连续的从标准输入中多次读入数据时,那么就可能存在连续使用多次scanf()函数的情况.然而在连续使用scanf()函数时可能会出现一些难以预料,不易发现的坑 #include <s ...

  10. linux输入字符串到文件,[Linux文件]将用户输入的字符串写入文件实例

    //使用gets函数从标准输入(键盘)获得一个以回车换行为结束的字符串,可以带空格 //运行时候屏幕会提示输入字符处,以回车结尾 //需要注意的是待输入的字符串存放在writebuf中,不能超过30字 ...

最新文章

  1. 查看Linux中硬链的所有文件路径
  2. android最佳活动启动方法,026-启动活动的最佳写法
  3. 【Win 10 应用开发】文件读写的三种方案
  4. spring boot / cloud (十七) 快速搭建注册中心和配置中心
  5. JavaScript实现eulerianPath欧拉路径算法(附完整源码)
  6. HHT变换基本理论-学习笔记
  7. java 静态方法同步_Java – 同步静态方法
  8. cuda笔记-初始化矩阵及thread,block,grid概念
  9. leetcood学习笔记-107-二叉树的层次遍历二
  10. Linux基础之命令练习Day4-fdisk,mkfs,mlabel,mount,umount,mkswap,swapon,dd,top,free,ps,kill,rpm,yum,make...
  11. 【python实战】使用 pygame 写一个 flappy-bird 类小游戏 | 涉及思路+项目结构+代码详解 | 新手向
  12. 【题解】洛谷P2914[USACO08OCT]断电Power Failure
  13. 高德地图车机版缩放版_高德地图车机版2020
  14. 微信小程序教程、微信小程序开发资源下载汇总(6.16日更新,持续更新中……)...
  15. 如何使用python调用ads接口(版图仿真)
  16. 力扣36.有效的数独
  17. ubuntu虚拟机连接被服务器拒绝,关于使用pietty或putty终端连接ubuntu虚拟机时报被拒绝连接问题...
  18. html5 制作书架展示 PHP,基于HTML5 Canvas的CSG构造实体几何书架
  19. 【Typora】实用使用技巧
  20. GridView列标题设置颜色

热门文章

  1. 设置自增递增零开始_SnowflakeId雪花ID算法,分布式自增ID应用
  2. Apache Flink 零基础入门(三):DataStream API 编程
  3. 有技术,没在怕,就是干!
  4. 程序员面试谈薪的背后的事,你一定要看看
  5. Android Multimedia框架总结(九)Stagefright框架之数据处理及到OMXCodec过程
  6. 开源容器云openshift pdf_OpenShift和Kubernetes的10个最重要的区别
  7. 动态列之函数实现动态列
  8. 如何更改spring源码_如何看Spring源码、Java每日六道面试分享,打卡第二天
  9. 阿里云盘内测_阿里云盘 | 内测码分享 + 火速体验!
  10. 经典神经网络 -- RetinaNet的Focal_Loss : 设计原理与pytorch实现