当前位置: 首页 > news >正文

宿迁做网站公司哪家好蚌埠网页设计

宿迁做网站公司哪家好,蚌埠网页设计,佛山网站设计公司,做易购网站1.前言 由于本科没有学过c语言,研究生阶段接触c上手有点困难,今天遇到关于通过cin.get()来让黑框维持的原因。 2.思考 cin.get()维持黑框不消失的原因一言蔽之就是等待输入。等待键盘的输入内容并回车(一般是回车)后cin.get()才…

1.前言

由于本科没有学过c语言,研究生阶段接触c++上手有点困难,今天遇到关于通过cin.get()来让黑框维持的原因。

2.思考

cin.get()维持黑框不消失的原因一言蔽之就是等待输入。等待键盘的输入内容并回车(一般是回车)后cin.get()才能结束,然后黑框也随之消失。

2.1 从键盘输入

使用输入操作符读取单词,标准库中提供了iostream,可以使用内置的cin对象,调用重载的输入操作符>>来读取键盘输入。

	string str;//  读取键盘输入,遇到空白符停止cin >> str;cout << str<<endl;

这种方式的特点是:忽略开始的空白符,遇到下一个空白符(空格、回车、制表)等就会停止。所以如果我们输入“hello world”,那么读取给str的只有“hello”:因为hello后面是空格,属于空白符,所以停止。这相当于读取了一个“单词”。
剩下的内容“ world”其实也没有丢,而是保存在了输入流的“输入队列”里。如果我们想读取更多的输入信息,就需要使用更多的string对象来获取:

	string str1, str2;cin >> str1 >> str2;cout << str1 << str2 << endl;

这样,如果输入“hello world”,就可以输出“helloworld”。虽然空格还在读取hello后的输入流中,但是str2的读取忽略了world之前的空格

接下来看这里的代码

	string str1;cin >> str1;cout << str1 << endl;cin.get();cin.get();

运行效果是输入hello后输出hello,同时黑框仍然保持存在,即等待输入
在这里插入图片描述
我们输入的内容是hello,但是我们在hello后有一个回车符,读给str1的内容为hello
这里为什么要写两个cin.get():第一个用来处理之前保留在输入队列的回车符;第二个用来等待下一次输入,让窗口保持开启状态。
接下来继续:
以如下代码为例:

#include<iostream>
using namespace std;
//cin以空白字符串为结束:空格、回车、制表
int main() {string str1;string str2;cin >> str1;cout << str1 << endl;cin.get();cin >> str2;cin.get();cout << str2 << endl;cin.get();//cin.get();//cin.get();
}

在这里插入图片描述
该过程大体如下:

标准库中提供了iostream,使用内置的cin对象,调用重载操作符>>来读取键盘输入。
我们输入hello并回车,此时输入流中就有了:hello和回车符
将hello读取给str1,此时输入流还剩下回车符
第8行代码输出str1的内容
第9行代码中,使用cin.get()获取输入流的内容,读取了回车,返回空行。
第10行代码,继续cin对象重载>>读取键盘输入,并将输入内容给str2
我们输入say加上回车
str2的内容为say,因为say后面是空白符
输入流中还剩下回车
第11行代码使用cin.get()获取输入流中的回车符
第12行代码,输出str2的内容say
第14行代码 cin.get()等待下一次输入,如果不输入内容并回车的话,窗口一直保持

总结一下:

1.空白符:包括空格,回车,制表符等
2.cin>>str是获取键盘输入,遇到空白符停止,将内容给str,剩下的部分仍然在输入流中
3.cin.get()获取输入流中的内容,可以读取空白符
4.cin>>str1>>str2>>str3等此类使用多个str对象,他会忽略开始的空白符,遇到下一个空白符(空格、回车、制表等)就会停止,将该部分中间的内容依次传给str.例如 我们输入 “say hello world” 那么str1就是say,str2就是hello,因为他会忽略hello前的空格和后的空格,同理str3是world,他会忽略world前的空格和后的回车符

拓展:
对于代码

	string str1;cin >> str1;cout << str1 << endl;cin.get();cin.get();

如果我们输入的内容是 hello然后空格,然后回车,那么黑框会保持吗?答案是不会的,因为str1存储输入流的hello,第一个cin.get()获取输入流的空白符:空格,返回空行,第二个cin.get()获取输入流的回车符,返回空行,没有cin.get()继续等待输入了
如果写成

	string str1;cin >> str1;cout << str1 << endl;cin.get();cin.get();cin.get();

则可以保持黑框等待输入

http://www.sczhlp.com/news/113586/

相关文章:

  • day37大模型程序开发-GraphRAG理论
  • G
  • AI Compass前沿速览:Nano Bananary、MCP Registry、通义DeepResearch 、VoxCPM、InternVLAM1具身机器人
  • 酷站 房地产的网站设计参 案例注册一个做网站的公司好
  • c语言建网站做动感影集的网站
  • 大同网站设计网站建设功能表
  • 编程教学网站推荐互联网投诉服务平台
  • 网站设计费wordpress发布的文章如何不显示
  • html企业整站模板网站网页制作需要学什么技术
  • 祝贺职业教育网站上线wordpress小工具插件下载
  • 江苏镇江网站建设网站建设需要多少钱费用
  • tk注册网站如何获得网站
  • 如何建立微网站详细成都精品网站建设
  • day3536大模型应用开发-模型微调框架
  • 网站排名优化教程重庆爱德华医院正规吗
  • 南阳做网站优化的公司网站一直百度上搜不到是怎么回事啊
  • 漳州台商投资建设局网站asp网络公司程序 网站公司企业建设源码 网站设计模板seo优化
  • 淘宝直接怎么做网站百度收录提交入口网址是什么
  • 旅游网站建设要如何做帮人做网站 怎么收费
  • 空间放两个网站阿坝北京网站建设
  • 南京做网站建设有哪些保定做网站百度推广
  • 推荐电子商务网站建设中国电子商务研究中心
  • 怎么模板建站高端网站建设公司兴田德润在那里
  • 优秀个人网站设计欣赏全球网站排名前十
  • 使用NVM管理Node.js版本
  • day12-Trae之一键换脸APP开发02
  • day35大模型应用开发-模型微调
  • 湘潭整站优化哈尔滨网站建设哈尔滨
  • 如皋官方网站建设什么地铁app制作过程
  • 关键词排名优化网站建设公司哪家好百度竞价镇江