C++中cin、cin.get(char)、cin.get()三种输入区别和注意事项,非常通俗易懂!!!!都直接分点总结好啦!

64 篇文章 2 订阅
订阅专栏

/*cin和cin.get(char)的区别*/
#include<iostream>
using namespace std;
int main() {
    /*1、cin的输入设置是缓冲的,只有你按下回车键才会发送给程序
      2、cin对于输入是忽略空格和换行的,以下例子中输入空格不包含对空格个数的统计,并且输出中无空格
      3、in只有强制的结束标志,即回车,回车对于多行是方便处理的,对于不满一行的字符串的输入,此时就要自定义一个结束字符,此处我用的是‘#'字符
      4、注意:cin的使用是要在使用循环前读取一个字符进行初始化*/
    char ch;
    int count = 0;
    cin >> ch;//初始化
    while (ch != '#') {
        cout << ch;
        ++count;
        cin >> ch;
    }

//运行结果:


    /*1、cin.get(char)的底层实质上将输入还是会转化为cin的输入形式,区别就是多了对空格字符的统计,返回值为对象ch
      2、cin.get()中括号可以放两个参数(数组名(字符串char*),整数)也可以放一个参数(char),也可以不接受参数
      为什么会出现参数输入的多样性呢?由于C的底层是不接受函数重载,而在C++中接受函数重载(即相同函数名不同参数的函数,用于函数功能的扩大,兼容性更好)*/

    char ch;
    int count = 0;
    cin.get(ch);//初始化
    while (ch!= '#') {
        cout << ch;
        ++count;
        cin.get(ch);
    }

//运行结果:


    /*1、cin.get()的返回的是输入的下一个字符的ASCII码,即整数,故要用int类型的ch去接收
      2、由于其要显示字符那么该cin.get()常与cout.put(char(ch))搭配使用
      3、cin.get()的结束标志是EOF,其整型值为-1,代表没有可返回的字符
      4、由于cin.get()会把'\n'也认为为输入的字符,故其输入完成后,连续按下两次enter,再在键盘上按下ctrl+Z后出现^Z后,再按enter,此操作在告诉程序没有可返回的字符
      注意:其输出统计的字符串的长度会比实际长度多1,那是因为enter键出现的'\n',解决办法是在循环中加上判断条件if(ch!='\n')就可以解决该问题*/

    int ch;
    int count = 0;
    while ((ch=cin.get()) !=EOF) {
        if (ch != '\n') {
            cout.put(char(ch));
            ++count;
        }
    }
    cout << endl << count << "字符读取长度";
    return 0;
}

//运行结果:

c++ cin,cin.getline(),cin.get()的区别
u010490289的博客
04-01 1019
cincin.getline和cin.get的整理
C++学习-Day-34
school751953的博客
08-25 238
C++学习-Day-34一、C++输入和输出 一、C++输入和输出 C++输入和输出看作字节流,它充当了程序和目标之间的桥梁。这使得C++程序可以以相同的方式对待来自键盘和文件的输入和输出,程序只需要检查字节流而不需要知道字节来自何方。管理输入和输出宜按包含两个步骤: 将流和输入或输出的程序相关联 将流和文件相关联 通常使用缓冲区可以更高效地处理输入和输出。缓冲区是用作介的内存块,它是信息...
cincin.get()区别
tanjia6999的博客
06-28 1534
前言: 刷题时,由于不用自己搞输入输出,所以正式做企业题时,在输入输出方面总要话多一点时间。说来惭愧,自己连最常见的cin都有点不大了解。尤其是遇到多行输入的情况,处理换行。 废话不多说,上代码: char p;string str; int i = 0; while(cin>>p)//会自动跳过上面的换行符! { i++; // if(p =='\n') break; 注意 cin>>是不会读入换行符的!!!,所以得用 cin.get()!!! 而且是放在
cin.get()与cin.getline()的区别
chenglinhust的专栏
03-17 846
cin.get()与cin.getline()的区别 cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别cin.get()每次读取一整行并把由Enter键生成的换行符留在输入队列,比如: #include using std::cin; using std::cout; const int SIZ
C++ 输入函数 cin>>、cin.getline()和cin.get()区别
Hsing Hsu's Blog
08-05 9103
在字符串输入,常用到cincin.getline()和cin.get()函数。 cin>>通常只能读取一个单词。cin.getline()和cin.get()可以读取固定长度的字符串,含空格等符号。 一、使用cin函数 由于cin通过空格、制表符、换行符来界定字符串的。
C++:cin.get()与cin.get(char &_Ch)
pnd237的博客
03-15 616
cin.get(char &_Ch) cin.get(char &_Ch):将输入char赋值给ch;当检测到EOF时cin的eof方法返回true,fail方法返回true。 下面是一个使用cin.get(char &_Ch)来逐个读取输入字符的demo,当输入EOF时停止输入char ch; while (cin.get(ch))//当输入EOF时跳出循环;cin对象会在需要返回bool值的时候转换为bool值,输入失败时自动返回false { cout <
C++ cin.get(); cin区别
weixin_45907018的博客
01-18 1643
本篇对cincin.get( )、cin.getline( )、getline( )、gets( )做一个概述; 写的不好各位大佬多多指教 cin基本用法 用法1;cin>>a>>b;可以单个输入字符; 用法2;字符数组的输入 它的不足在于接收“空格”、"Tab“、”回车“、都会终止接收导致输入不完整,所以才有cin.get( )。 #include <iostre...
重学C++ 重构C++知识体系
eilot_c的博客
05-19 2947
C++基础容器 序列型容器--数组 ◆ 概念 代表内存里一组连续的同类型存储区 可以用来把多个存储区合并成一个整体 比如: int arr[10] = {1,2,3,4,5,6,7,8}; ◆ 数组声明 int arr[10] 类型名称int表示数组里所有的元素的类型 名称arr是数组的名称 整数10表示数组里包含的元素个数 数组元素个数不可变 新型数组--vector ◆ Vector 是面向对象方式的动态数组 向量(Vector)是一个封装了动态大小数组的顺...
C++ IO标准库 文件操作
ffghggf的博客
02-07 6464
C++ IO标准库 文件操作
关于我校编程热身赛的解题报告
weixin_51664778的博客
11-20 696
报告人:20212409黄人和,有问题可以加我微信,QQ很少用 先简单作个自我介绍,2124班,代表了dky编程的top5水平,top1就是出题人wxy。梦想是成为忠诚笃学严谨守纪的好学生,将来想要从事jymm事业。主要使用C语言和C++语言,本次作为场外选手获得了第0名,不多逼逼,先上个图,这是我做出的9题: 我将会按照比赛的难度顺序从小到大进行讲解,我不会做的就讲不了。按照我的观点,这几道题的难度从易到难: DEKBL我看来是简单的因此我略写,FA有点难我会详写,GJ很难我写了自己都看不.
C++cin.get()
little_startoo的博客
05-16 5617
C++cin.get()
cincin.get() 有何不同
03-23 485
 cin将    等当作空格符略过了,不会放入你的变量里,它自动将输入转换成相应格式放入你的变量;cin.get()没有这些规则,只是从输入依次取出字符。==============================================================cin.get()从指定的输入提取一个字符(包括空白字符) ;而cin遇到空白字符时把它当成是两
cin,cin.get()的区别
a359877454的博客
11-12 1383
相同: cincin.get()都是在回车后才将输入从缓冲发给程序。 不同: cin将忽略输入的空格和换行符,而cin.get()则不会忽略 空格,制表和换行符。
C++cin,cin.get()和cin.getline()的区别
Elohim's Blog
04-12 4931
cin:遇到空格,回车或者制表符就会结束输入,这样就导致了我们不能
cin.get()函数与cin.getline()函数的区别
黑客小清新mua~
09-24 790
get()函数与getline()函数的区别
cincin.get(),cin.getline(),gets(),getchar()函数的用法
chuainong8497的博客
08-05 218
1.cin>> 用法a:最基本的流输入用法,接受一个数字或字符,自动跳过输入的空格。 用法b:接受一个字符串,但是遇到除开头外的空格则会终止输入。 #include<iostream> using namespace std; int main() { ...
cin getchar() cin.get() 单个字符函数输入比较
qq_40364351的博客
01-31 1888
cin getchar() cin.get() 单个字符函数输入比较 我们在编程时候需要完成各种功能,有些功能的实现建立在对输入的精细控制,比如输入时是否能读入回车空格,是否会将缓冲区字符读入。这里我们将就C++常用字符输入函数进行比较 最后的出结论 实验部分 下面是实验所需要的代码,我们输入相同的内容12空格345,比较最后输出的结果。 #include <iostream> #in...
C++输入输出流 ③ ( cin 输入流对象 | cin.get() 函数获取一个字符数据并返回 | cin.get(char c) 函数获取一个字符数据到变量 )
最新发布
让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 )
12-06 747
一、cin.get() 函数获取一个字符数据并返回 ( 无参数 ) 1、cin.get() 函数获取一个字符数据 2、输入流缓冲区概念 3、代码示例 - cin.get() 函数获取一个字符数据 二、cin.get(char c) 函数获取一个字符数据到变量 ( 1 个参数 ) 1、cin.get(char c) 函数获取一个字符数据到变量 2、完整代码示例 - cin.get(char c) 函数获取一个字符数据到变量
cin.get()和cin.get(ch)之间的区别
Java技术博文
06-20 3121
每次读取一个字符,直到遇到EOF的输入循环的基本设计如下: cin.get(ch); //attempt to read a char while(cin.fail()==false)  //test for EOF { .........   cin.get(ch);   //attempt to read another char } 可以在上述代码使用一些简捷方式: wh
写文章

热门文章

  • 闰年判断的三种实现方法 9839
  • 三数排序从小到大的三种实现方法 5164
  • 随机生成10个0~10(含0和10)的整数,分别组成集合A和集合B,输出A和B的内容、长度、最大值、最小值以及它们的并集、交集和差集。A、B的长度随机,控制在3~7之间。 3478
  • Python随机密码生成。编写程序,在26个字母大小写和10个数字随机生成10个8位密码。 2872
  • 数字图像处理——甲骨图像文字识别 2648

分类专栏

  • 学习记录 40篇
  • 数字图像处理 8篇
  • 图像识别 8篇
  • 数据库 1篇
  • python 38篇
  • Java 8篇
  • Web 1篇
  • C语言 6篇
  • C++ 64篇
  • 数据结构 32篇
  • 算法学习 1篇
  • 知识图谱 1篇
  • Neo4j 1篇
  • 编译原理 4篇
  • 数据分析 24篇
  • Jupyter Notebook 2篇
  • Anaconda 1篇

最新评论

  • 数字图像处理——甲骨图像文字识别

    什么都不会的老鼠: 多多关注哦表情包

  • 数字图像处理——甲骨图像文字识别

    2的n次方_: 作者在分享技术时,还注重传播正能量,这让我在阅读的过程中感受到了温暖和鼓舞。 也欢迎您来逛逛我的博客哦~~在此提前感谢您对我的互/三/支持~~

  • 数字图像处理——甲骨图像文字识别

    watermelo37: 文章中提到的这个设计模式我之前只是听说过,但经过作者的深入剖析后,我现在已经能够灵活运用了。 也欢迎您来逛逛我的博客哦~~在此提前感谢您对我的互/三/支持~~

  • 编译原理——NFA转DFA实验全过程+实验代码

    什么都不会的老鼠: yes

  • 编译原理——NFA转DFA实验全过程+实验代码

    m0_74304856: 156到176行的代码的作用是干嘛的,因为不对齐吗?

大家在看

  • 蜘蛛日志在线分析工具源码 快速分析搜索引擎网络爬虫抓取记录 440
  • 数据结构与算法分析:你真的理解排序算法吗——中值排序(万字长文+代码详解)
  • 帝国CMS7.0 7.2 7.5微信登录插件

最新文章

  • 数字图像处理——频域处理与复原(实验全过程+实验代码)
  • 相交链表leetcode160——四种解题思路及代码
  • 视频生成——MiniMax和通义万象(目前免费使用)
2024
10月 43篇
07月 6篇
2023年106篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢造型雕塑安装广东玻璃钢卡通雕塑供应厂家江津玻璃钢座椅雕塑吉林户外玻璃钢雕塑制作蛋壳玻璃钢椅子雕塑南京玻璃钢花盆厂家马鞍山公园玻璃钢雕塑价位浮雕植物玻璃钢雕塑雅安玻璃钢雕塑摆件施工方法菏泽玻璃钢人物不锈钢园林雕塑江苏玻璃钢雕塑哪家好聊城市玻璃钢雕塑江苏常用商场美陈价格晋城标识标牌玻璃钢景观雕塑福州玻璃钢仿铜雕塑价格句容设计玻璃钢雕塑厂家玻璃钢卡通雕塑摆件蚌埠公园玻璃钢雕塑订做价格重庆人物玻璃钢雕塑价格吉林设计雕塑玻璃钢佛山房地产玻璃钢卡通熊猫雕塑通道商场美陈研发蜘蛛侠玻璃钢雕塑怎么安装郊区玻璃钢雕塑厂家玻璃钢红酒瓶雕塑潍坊玻璃钢雕塑制作厂家银川卡通玻璃钢雕塑定做安徽卡通玻璃钢雕塑定制玻璃钢雕塑模具大全专业的玻璃钢雕塑的设计制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化