11-16 ignore putback

#include<iostream>
using namespace std;
int main()
{
    string s;
    cout<<"请输入一串字符:";
    //忽略输入缓冲区前8个字符
    //如果前八个字符中存在结束符,那么就忽略结束符之前 的字符
    cin.ignore(8,' ');   //设置' '为结束符
    cin>>s;
    cout<<"string s="<<s<<endl;
    return 0;
}

cin.putback(' ');//cin 是去输入缓存拿东西,如果没有就等待输入,putback就是往输入缓存放东西

#include<iostream>
using namespace std;
int main()
{
    char ch;
    cin.putback('a');
    cout<<"请输入一个ch数据:";
    cin>>ch;                                       //由于输入缓存流已经有东西,所以不会等待输入
    cout<<ch<<endl;
    return 0;
}
#include<iostream>
using namespace std;
int main()
{
    int i;
    string s;
    cout<<"start"<<endl;
    char ch=cin.peek();              //查看缓存流第一个字符
    cout<<"end"<<endl;
    if((ch>='0')&&(ch<='9'))
    {
        cin>>i;
        cout<<"int i="<<i<<endl;
    }
    else
    {
        cin>>s;
        cout<<"string s="<<s<<endl;
    }
}
//有一个致命缺陷,因为只能查看缓存流第一个字符,所以后面的字符无法判断
#include<iostream>
using namespace std;
int main()
{
    int i=11;
    cout<<hex<<i<<dec<<i<<endl;'
    cout<<setbase(8)<<i<<endl;  //只能设为8,16,10进制
}

流算子操作符串在后面<<
函数用 .

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    char n[34]={0};
    cin.width(5);     //设置读取字符宽度
    while(cin>>n)
    {
        cout<<"n="<<n<<endl;
        cin.width(6);
    }
    return 0;
}
#include<iostream>
#include<iomanip>
#include<limits>
using namespace std;
int main()
{
    int a;
    int b;
    cin>>a;
    cout<<"a="<<a<<endl;
    cout<<"cin1="<<cin.good()<<endl;   //验证cin是否是好的,如果好的返回1
    if(!cin.good())
    {
        cin.clear();      //恢复cin
        cin.ignore(numeric_limits<streamsize>::max(),'\n');   //清空输入缓存流
    }
    cout<<"cin2="<<cin.good()<<endl;
    cin>>b;
    cout<<"b="<<b<<endl;
    return 0;  
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 计算机与C++编程简介 C++程序6个阶段编程 ->预处理->编译->连接->装入->执行1.程序在编译器...
    rogertan30阅读 9,718评论 0 1
  • C/C++输入输出流总结 前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终...
    LuckTime阅读 5,672评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,677评论 19 139
  • 1.什么是测试架构 从基本的观点看,测试架构师由软件系统技术架构和软件测试结构构建的需求而定。 2.测试领域架构 ...
    大婶N72阅读 4,527评论 1 6