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();  //将一个字符插入到输入字符串中,被插入字符是下一条输入第一个字符

posted @ 2007-03-22 04:14  Edward Xie  阅读(231)  评论(0)    收藏  举报