⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_errno.cpp

📁 stl的源码
💻 CPP
字号:
//We are including stdlib.h and stddef.h first because under MSVC//those headers contains a errno macro definition without the underlying value//definition.#include <stdlib.h>#include <stddef.h>#include <errno.h>#include <errno.h> // not typo, check errno def/undef/redef#ifndef _STLP_WCE#include "cppunit/cppunit_proxy.h"//// TestCase class//class ErrnoTest : public CPPUNIT_NS::TestCase{  CPPUNIT_TEST_SUITE(ErrnoTest);  CPPUNIT_TEST(check);  CPPUNIT_TEST_SUITE_END();protected:  void check();};CPPUNIT_TEST_SUITE_REGISTRATION(ErrnoTest);void ErrnoTest::check(){  //We are using ERANGE as it is part of the C++ ISO (see Table 26 in section 19.3)  //Using ERANGE improve the test as it means that the native errno.h file has really  //been included.  errno = ERANGE;  CPPUNIT_ASSERT( errno == ERANGE );  errno = 0;/* Note: in common, you can't write ::errno or std::errno, * due to errno in most cases is just a macro, that frequently * (in MT environment errno is a per-thread value) expand to something like * (*__errno_location()). I don't know way how masquerade such * things: name of macro can't include ::. * *                - ptr, 2005-03-30 */# if 0  if ( ::errno != 0 ) {    return 1;  }  if ( std::errno != 0 ) {    return 1;  }# endif}#endif // _STLP_WCE

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -