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

📄 require.h

📁 Think in C++ 第二版源码
💻 H
字号:
//: :require.h

// From Thinking in C++, 2nd Edition

// Available at http://www.BruceEckel.com

// (c) Bruce Eckel 1999

// Copyright notice in Copyright.txt

// Test for error conditions in programs

// Local "using namespace std" for old compilers

#ifndef REQUIRE_H

#define REQUIRE_H

#include <cstdio>

#include <cstdlib>

#include <fstream>



inline void require(bool requirement, 

  const char* msg = "Requirement failed") {

  using namespace std;

  if (!requirement) {

    fprintf(stderr, "%s", msg);

    exit(1);

  }

}



inline void requireArgs(int argc, int args, 

  const char* msg = "Must use %d arguments") {

  using namespace std;

   if (argc != args + 1) {

     fprintf(stderr, msg, args);

     exit(1);

   }

}



inline void requireMinArgs(int argc, int minArgs,

  const char* msg = 

    "Must use at least %d arguments") {

  using namespace std;

  if(argc < minArgs + 1) {

    fprintf(stderr, msg, minArgs);

    exit(1);

  }

}

  

inline void assure(std::ifstream& in, 

  const char* filename = "") {

  using namespace std;

  if(!in) {

    fprintf(stderr,

      "Could not open file %s", filename);

    exit(1);

  }

}



inline void assure(std::ofstream& in, 

  const char* filename = "") {

  using namespace std;

  if(!in) {

    fprintf(stderr,

      "Could not open file %s", filename);

    exit(1);

  }

}

#endif // REQUIRE_H ///:~

⌨️ 快捷键说明

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