cin相关函数

cin

cin的相关函数 get getline >> ignore

cin cout 都关联一个行缓冲区。按下enter键,生成一个’\n’ 在缓冲区中,同时也就可以操作这一行了。

  1. cin.get() 从缓冲区取一个字符。
  2. cin.getline() 从缓冲区取一行。
  3. >> 在缓冲区中读取一个>> 后面类型的内存大小。不会读入空格,遇到空格就不读了。
  4. cin.ignore()
cin.ignore(num,ch) //从输入流cin中提取num个字符,遇到ch则停止
cin.ignore(num)  //直接从输入流提取num个字符,输入的字符数量要大于num

cin的状态

  1. cin.eof() 若流的 eofbit 置位,返回true
  2. cin.fail() 若流的 failbitbadbit 置位,返回true
  3. cin.bad() 若流的 badbit 置位,返回true
  4. cin.good() 若流处于有效转态,返回true
  5. cin.clear() 将流的所有状态复位
// 通过检查流的不同转态,做不同的处理
istream &f(istream &in)
{
    int v;
    while (in >> v, !in.eof())
    {
        if (in.bad())
            throw runtime_error("IO流错了");
        if (in.fail())
        {
            cerr << "数据错误,亲重试" << endl;
            in.clear();
            in.ignore(100, '\n');
            continue;
        }
        cout << v << endl;
    }
    in.clear();
    return in;
}


文件结束符 EOF=-1

windows 中ctrl+z
Unix 中ctrl+d

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值