C++標準庫教學
C++ <fstream>
fstream::close()函數
fstream::isopen()函數
fstream::open()函數
ostream運算符=
fstream::rdbuf()函數
fstream::swap()函數
C++ <iomanip>
std::setiosflags()函數
std::resetiosflags()函數
std::setbases()函數
std::setfill()函數
std::setprecision()函數
std::setw()函數
std::get_money()函數
std::put_money()函數
std::get_time()函數
std::put_time()函數
C++ <basic_ios>
ios_base::event()函數
ios_base::event_callback()函數
ios_base::failure
ios_base::Init
basic_ios::setstate
basic_ios::openmode
ios_base::seekdir
basic_ios::basic_ios構造函數
basic_ios::basic_ios析構函數
ios::good()函數
ios_event::eof()函數
ios非運算符
ios::rdstate()函數
ios::clear()函數
ios::copyfmt()函數
ios::fill()函數
ios::exceptions()函數
ios::imbue()函數
ios::tie()函數
io::rdbuf()函數
ios::narrow()函數
ios::widen()函數
ios::init()函數
ios::move()函數
ios::swap()函數
ios::set_rdbuf()函數
std::fpos()函數
ios庫<ios>
ios_base::fmtflags
ios::good()函數
它用於檢查流的狀態是否良好。
聲明
下面是ios::good()
函數的聲明。
bool good() const;
返回值
- 返回
true
,如果沒有設置流的狀態標誌。 - 返回
false
,如果設置了流的狀態標誌(badbit
,eofbit
或failbit
)。
示例
下面的例子解釋了ios::good()的使用。
#include <iostream>
#include <sstream>
void print_state (const std::ios& stream) {
std::cout << " good()=" << stream.good();
std::cout << " eof()=" << stream.eof();
std::cout << " fail()=" << stream.fail();
std::cout << " bad()=" << stream.bad();
}
int main () {
std::stringstream stream;
stream.clear (stream.goodbit);
std::cout << "goodbit:"; print_state(stream); std::cout << '/n';
stream.clear (stream.eofbit);
std::cout << " eofbit:"; print_state(stream); std::cout << '/n';
stream.clear (stream.failbit);
std::cout << "failbit:"; print_state(stream); std::cout << '/n';
stream.clear (stream.badbit);
std::cout << " badbit:"; print_state(stream); std::cout << '/n';
return 0;
}
編譯和運行上面的程序,將產生以下結果 -
goodbit: good()=1 eof()=0 fail()=0 bad()=0
eofbit: good()=0 eof()=1 fail()=0 bad()=0
failbit: good()=0 eof()=0 fail()=1 bad()=0
badbit: good()=0 eof()=0 fail()=1 bad()=1