标准输入流

标准输入流对象cin,重点掌握的函数

        cin.get() //一次只能读取一个字符

        cin.get(一个参数) //读一个字符

        cin.get(三个参数) //可以读字符串

        cin.getline()

        cin.ignore()

        cin.peek()

        cin.putback()

 

具体看如下程序和代码:


#include <iostream>
using namespace std;
#include "string"

/*
标准输入流对象cin
	cin.get() //一次只能读取一个字符
	cin.get(一个参数) //读一个字符
	cin.get(三个参数) //可以读字符串
	cin.getline()
	cin.ignore()
	cin.peek()
	cin.putback()
*/


void main71()
{
	char	mybuf[1024];
	int		myInt;
	long	myLong;

	cin >> myInt;

	cin >> myLong;

	cin >> mybuf; // 遇见空格停止接受 数据 

	cout << "myInt:" << myInt << "myLong" << myLong << "mybuf:" << mybuf << endl;

	system("pause");
}

//get()
void main72()
{
	char ch;
	while ( (ch=cin.get() )!= EOF )
	{
		cout << ch << endl;
	}
	system("pause");
}

void main73()
{
	char a, b, c;

	cout << "cin.get(a) 如果缓冲区没有数据,则程序阻塞 \n";
	cin.get(a);
	cin.get(b);
	cin.get(c);

	cout << a << b << c << "因为缓冲区有数据,程序不会阻塞\n";

	cin.get(a).get(b).get(c);

	cout << a << b << c;

	system("pause");
}

//getline函数可以接受 空格
void main74()
{
	char buf1[256];
	char buf2[256];

	cout << "请输入一个字符串 含有多个空格 aa bb cc dd\n";

	cin >> buf1;

	cin.getline(buf2, 256);

	cout << "buf1:" << buf1 << "buf2:" << buf2 << endl; 
	system("pause");
}

void main75()
{
	char buf1[256];
	char buf2[256];

	cout << "请输入一个字符串 含有多个空格aa  bbccdd\n";

	cin >> buf1;
	cin.ignore(20);
	int myint = cin.peek();
	cout << "myint:" << myint << endl; 

	cin.getline(buf2, 256);

	cout << "buf1:" << buf1 << "\nbuf2:" << buf2 << endl; 
	system("pause");
}

//案例:输入的整数和字符串分开处理
int main78() 
{
	cout << "Please, enter a number or a word: ";
	char c = std::cin.get();

	if ( (c >= '0') && (c <= '9') ) //输入的整数和字符串 分开处理
	{
		int n; //整数不可能 中间有空格 使用cin >>n
		cin.putback (c);
		cin >> n;
		cout << "You entered a number: " << n << '\n';
	}
	else
	{
		string str;
		cin.putback (c);
		//cin.getline(str);
		getline (cin, str); // //字符串 中间可能有空格 使用 cin.getline();
		cout << "You entered a word: " << str << '\n';
	}
	system("pause");
	return 0;
}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值