更新中:
1.错误处理
重要函数:
bool cin.good();
bool cin.bad();
bool cin.fail();
bool cin.eof();
这四个函数用来测试相应的标志位是否为1,具体如下:
failbit | eofbit | badbit
所以,ios::failbit=100b
ios::eofbit=010b
ios::badbit=001b
ios::goodbit=000b
如果想获得对应标志位的值,可以用标志变量&标志位,获取标志变量的函数为:iostate ios::rdstate()
重置标志变量:void ios::clear(iostate _state=goodbit) ,这个函数可以把标识变量初始化为_state的值,默认为全0
2.缓冲区
basic_istream& ignore(streamsize _Count = 1, int_type _Delim = traits_type::eof());
忽略缓冲区内的_Count个字符,直到遇到_Delim字符。
3.字符串输入
1.cin>>
遇到空白字符停止,可以用cin>>noskipws>> 忽略空白字符
2.cin.get(ch) //接收一个字符
cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格
3.cin.getline(接受字符串的名字,接受个数,结束字符),第三个参数默认为'\0'
4.getline(cin,string),读入一个string