c++ cin输入空格_cin输入string遇到空格

c++ cin输入空格_cin输入string遇到空格文章目录一、cin>>用法1:输入一个数字或字符用法2:接收一个字符串,遇“空格”、“TAB”、“回车”就结束二、cin.getline()用法:接收一个字符串,可以接收空格并输出延伸:三、getline()用法:接收一个字符串,可以接收空格并输出,需包含“#include”四、注意的问题一、cin>>用法1:输入一个数字或字符#include using name……

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一、cin>>

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

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

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

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

例如:

  1. 输入:jkljkljkl
    输出:jkljkljkl

  2. 输入:jkljkl jkljkl //遇空格结束
    输出:jkljkl

二、cin.getline()

用法:接收一个字符串,可以接收空格并输出

#include <iostream>
using namespace std;
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<string>

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

输入:jkljkljkl
输出:jkljkljkl

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

四、注意的问题

1、cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数,用时需要添加不同的头文件(iostream)(string)

2、当同时使用cin>>,getline()时,需要注意的是,在cin>>输入流完成之后,getline()之前,需要通过

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170909.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 图基本概念与常用算法

    图基本概念与常用算法

    2021年10月6日
    37
  • qpainter画箭头改变方向_visio如何画箭头

    qpainter画箭头改变方向_visio如何画箭头画箭头需要注意:计算箭头两个线的位置和长度与直线或弧线间的位置关系。1.画直线箭头关键代码constintlength=10;//箭头斜着的投影到线上的长度QVector<QLineF>lines;lines.append(QLineF(20,height()/2,width()/2,height()/2));li…

    2025年7月6日
    4
  • AnalyticDB for MySQL 3.0 技术架构解析

    AnalyticDB for MySQL 3.0 技术架构解析企业数据需求不断变化,近年来变化趋势日益明显,从数据的3V特性看:体积,速度和变化;BigData强调数据量,PB级以上,是静态数据。而FastData在数据量的基础上,意味着速度和和变化,意味着客户可以更加实时化、更加快速地进行数据处理。在Forrester最近的一项研究中,超过75%的…

    2022年9月17日
    3
  • 深入理解C语言指针

    深入理解C语言指针一、指针的概念要知道指针的概念,要先了解变量在内存中如何存储的。在存储时,内存被分为一块一块的。每一块都有一个特有的编号。而这个编号可以暂时理解为指针,就像酒店的门牌号一样。1.1、变量和地址先写一段简单的代码:voidmain(){ intx=10,inty=20;}这段代码非常简单,就是两个变量的声明,分别赋值了10、20。我们把内存当做一个酒店,而每个房间就…

    2022年6月22日
    31
  • 博弈论基础_博弈论基础罗伯特

    博弈论基础_博弈论基础罗伯特博弈论这个环节特别好玩,游戏嘛(不会的话做题就不好玩了,当年打比赛比赛结束后两三分钟才推出来,一看答案想撕草稿纸)本篇文章含有大量逻辑证明,做题用不到,不想看的可以略过直接看结论和模板参考文献特别鸣谢孙大佬的PPT和精彩讲解威佐夫博弈尼姆博弈SG函数斐波那契博弈区间最值查询ST表详解预处理查询巴什博弈问题模型只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取…

    2022年10月15日
    2
  • 【大话QT之十六】使用ctkPluginFramework插件系统构建项目实战「建议收藏」

    【大话QT之十六】使用ctkPluginFramework插件系统构建项目实战「建议收藏」”使用ctkPluginFramework插件系统构建项目实战”,这篇文章是写博客以来最纠结的一篇文章。倒不是因为技术都多么困难,而是想去描述一个项目架构采用ctkPluginFramework来构建总是未尽其意,描述的太少未免词不达意,描述的太多又显得太啰嗦。有些看过之前写的【大话QT之四】ctkPlugin插件系统实现项目插件式开发这篇文章的朋友也想了解一下到底如果从零开始架构一个项目。在写这

    2022年6月6日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号