C++之cin.ignore, cin.peek, cin.putback

1、cin.ignore

istream& ignore(streamsize n = 1, int delim = EOF)

功能:跳过流中n个字符,或者遇到结束符为止,第一个参数默认跳过一个字符,第二个参数默认为eof

2、cin.peek

int peek()

功能: 窥视最近一次移动的指针,函数本身并不操作指针

3、cin.putback

istream& putback(char c)

功能:将字符c插入到当前的指针位置。

4、示例

#include<iostream>
#include<string.h>

using namespace std;

int main() {
    char buf[1024];
    cin.get(buf, 10, '/');
    cout << buf << endl;
    memset(buf, 0, sizeof(buf));
    cin.ignore(100, 'i');
    cin.putback('i');

    char peek = cin.peek();
    cout << "peek = " << peek << "---" << endl;

    cin.get(buf, 1024, '/');
    cout << buf << endl;
    system("pause");
    return 0;
}

输出结果:

这里写图片描述

cin.ignore一致跳到了字母i,包括字母i,通过cin.putback把跳过的字母i添加回来,cin.peek窥视到最近一次指针的移动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值