C++的标准输入(istream)标准库(APi)

本文详细介绍了C++标准输入流库中的cin对象及其成员函数,包括operator>>、get()、getline()、ignore()、peek()和putback()。通过对各个函数的使用示例,解析了它们的功能和在处理输入时的注意事项,如处理空格、Tab、Enter以及异常情况。
摘要由CSDN通过智能技术生成

C++的标准输入(istream)标准库(APi)

一 作为istream的对象cin的成员函数详解:

cin为istream的一个全局性的object.在缓冲区无数据是自动阻塞等待输入,只要缓冲区有数据则不会阻塞;

(一)operator>>()函数

operator>>()遇到空格,Tab,Enter(3种)停止,并且自动忽略有效字符串之前的所有三种字符;如下例:

#include<iostream>
using namespace std;
int main() {
	
	{
		int a,b;
		cin >> a >> b;
		cout << a << " " << b << "\n";
	}
	system("pause");
	return 0;
}

输入1+Enter+空格+Tab+2,输出:
在这里插入图片描述
存在疑问的地方:输入不合法时的异常(例如输入’a’+2),仍待解决
在这里插入图片描述

(二)get()函数:

get()函数有,无参数,单个参数,两个参数,三个参数四种模式;

1.int_type cin.get()与istream &cin.get(_Elem & _Ch)

无参数模式返回的是输入的对象类型(可暂时理解为基础类型):
如 int a=cin.get();
单个参数模式返回的是istream本身的引用,参数为准备接收的char引用
如下例:(只能获取单个的char,其他如int等都不行)

#include<iostream>
using namespace std;
int main() {
	{
		char a,b,c;
		cin.get(a).get(b).get(c);
		cout << a << " " << b << " " << c << "\n";
	}
	system("pause");
	return 0;
}

输入123,输出结果:
在这里插入图片描述
另外我们可以验证get()是不忽略空格,Tab,Enter(3种)的,如下例:

#include<iostream>
using namespace std;
int main() {
	
	{
		char a,b,c;
		cin.get(a).get(b).get(c);
		printf("%d ", a);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值