IO cin
1>重载>>操作符
///////////////////////////////////////////////
///////////////////////////////////////////////
istream & operator>>(…)
2>可选输入格式
///////////////////////////////////////////////
///////////////////////////////////////////////
hex dec oct
//ep:
cin >> hex >>0xff;
3>cin>> 检查输入得方式
////////////////////////////////////////////////
////////////////////////////////////////////////
cin>>会自动跳过 空格 换行 制表符 直到遇见非空白字符
从一个非空白类型开始读取 一但遇到与输入类型不匹配得第一个字符 就停止
4>流状态
/////////////////////////////////////////////////
/////////////////////////////////////////////////
eofbit 如果到达文件尾,则设置为1
badbit 如果流背破坏,则设置为1,如文件读取错误
failbit 输入未能读,输出未能写,则设置为1
goodbit 另一种表示0得方法
good() 如果流可以用(所有位都被清除),则返回true
eof() 如果eofbit被设置返回true
bad() 如果badbit被设置返回true
fail() 如果failbit被设置返回true
rdstate() 返回流状态
exceptions() 返回一个掩码,指出哪些标记导致异常被引发
exceptions(isostate ex) 设置哪些状态将导致clear引发异常,如ex 是eofbit
clear(isostate s) 将流状态设置位S,S默认值位0(goodbit),如果(rdstate()&exceptions()!=0)
则引发异常 ios_base::failure
setstate(iostate s) 调用clear(rdstate()|s),设置对应位,其他位不改变
5>其他istream类方法
/////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////
/*1*/单字符输入
特征 cin.get(ch) ch = cin.get()
传输输入字符得方法 赋给参数ch 将函数返回值赋给ch
字符输入时函数的返回值 指向istream对象的引用 字符编码(int值)
到达文件尾时函数返回值 转换为false EOF
/*2*/字符串输入
istream & get(char *, int, char); //get都会将分界符保留在输入流中
istream & get(char *,int);
istream & getline(char *, int, char); //getline会抽取并丢弃分界符
istream & getline(char *,int);
第一个参数用于放置字符串的内存单元地址。
第二个参数比读取最大字符数大1('\0')
第三个参数作分界符(不加该参数默认分节符是'\n')
istream & ignore(int = 1, int = EOF); //通常用作丢弃一行
//第一个参数指定读取最大字符 第二个作分界符
*********************************************************************
istream & read(char *,int); //与get不同的是不在输入后加空字符
peek(); //返回输入中下一个字符但不抽取
gcount(); //返回最后一个非格式化抽取读取的字符数
putback(); //将一个字符插入到输入字符串中,被插入字符是下一条输入第一个字符


浙公网安备 33010602011771号