c++控制台输入

本文详细介绍了C++中从控制台输入数据的各种方法,包括数值数据和字符数据的读取,以及不同输入函数的使用,如cin、getline、getchar、getch、gets和scanf。还探讨了如何处理字符串输入,特别是对空格、换行符的处理,并提供了处理行数不固定和数据个数不固定的输入策略。
摘要由CSDN通过智能技术生成

当在控制台输入数据时,所有的数据都是输入到缓冲区的,当从其中提取数据时,也是从缓冲区提取的!其有一个指向缓冲区的指针,就是通过此指针对数据提取的。

例如cin>>a;就是通过>>的重载实现从缓冲区取出数据并进行相应的转换后赋值给a;如果缓冲区没有数据的话,则等待用户输入数据。

1.对于从控制台读入数据到数据结构中,主要要了解的是:

  • 1,读入的数据是什么(尤其针对字符串,是否包括空格,换行符等)。
  • 2,读入数据后缓冲区的指针指向什么位置(缓冲区都指向读入数据的下一位)

通常读入的数据可以分为两种,一种是数值数据,例如int,float等。另一种是字符数据,包括单个字符和字符串。

对于数值数据,直接将数据读入到相关的数据结构中即可。指针指向数据的后一位。可以指向换行符!

对于字符数据,如果是单个字符读入的话,类似数值数据。也可以指向换行符!

对于字符数据,如果是读入字符串的话,则针对存储类型有不同的实现机制:

1.如果用c风格的字符数组保存字符串,则字符串的结尾一定是会添加0作为结束符的

2.如果用string保存字符串,则结尾一定是不增加0的。

char a[100];

cin.getline(a,100);//读入一行数据,同时将数据存放在a字符数组中,末尾添0,同时换行符不存储。(指针指向下一行开始!如

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值