请问require.h这段代码的意思,还望高手解答
//: :require.h
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// 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>
#include <string>
inline void require(bool requirement,
const std::string& msg = "Requirement failed"){
using namespace std;
if (!requirement) {
fputs(msg.c_str(), stderr);
fputs("\n", stderr);
exit(1);
}
}
inline void requireArgs(int argc, int args,
const std::string& msg =
"Must use %d arguments") {
using namespace std;
if (argc != args + 1) {
fprintf(stderr, msg.c_str(), args);
fputs("\n", stderr);
exit(1);
}
}
inline void requireMinArgs(int argc, int minArgs,
const std::string& msg =
"Must use at least %d arguments") {
using namespace std;
if(argc < minArgs + 1) {
fprintf(stderr, msg.c_str(), minArgs);
fputs("\n", stderr);
exit(1);
}
}
inline void assure(std::ifstream& in,
const std::string& filename = "") {
using namespace std;
if(!in) {
fprintf(stderr, "Could not open file %s\n",
filename.c_str());
exit(1);
}
}
inline void assure(std::ofstream& out,
const std::string& filename = "") {
using namespace std;
if(!out) {
fprintf(stderr, "Could not open file %s\n",
filename.c_str());
exit(1);
}
}
#endif // REQUIRE_H ///:~
请问怎么理解1.string& msg = "Requirement failed"
2.fputs(msg.c_str(), stderr);
3. fprintf(stderr, msg.c_str(), args);
的意思?
以及这段代码的作用?
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// 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>
#include <string>
inline void require(bool requirement,
const std::string& msg = "Requirement failed"){
using namespace std;
if (!requirement) {
fputs(msg.c_str(), stderr);
fputs("\n", stderr);
exit(1);
}
}
inline void requireArgs(int argc, int args,
const std::string& msg =
"Must use %d arguments") {
using namespace std;
if (argc != args + 1) {
fprintf(stderr, msg.c_str(), args);
fputs("\n", stderr);
exit(1);
}
}
inline void requireMinArgs(int argc, int minArgs,
const std::string& msg =
"Must use at least %d arguments") {
using namespace std;
if(argc < minArgs + 1) {
fprintf(stderr, msg.c_str(), minArgs);
fputs("\n", stderr);
exit(1);
}
}
inline void assure(std::ifstream& in,
const std::string& filename = "") {
using namespace std;
if(!in) {
fprintf(stderr, "Could not open file %s\n",
filename.c_str());
exit(1);
}
}
inline void assure(std::ofstream& out,
const std::string& filename = "") {
using namespace std;
if(!out) {
fprintf(stderr, "Could not open file %s\n",
filename.c_str());
exit(1);
}
}
#endif // REQUIRE_H ///:~
请问怎么理解1.string& msg = "Requirement failed"
2.fputs(msg.c_str(), stderr);
3. fprintf(stderr, msg.c_str(), args);
的意思?
以及这段代码的作用?
...全文
相关推荐
Lua中的loadfile、dofile、loadstring、require用法实例
如果文件成功加载,它将返回一个编译后的Chunk(即代码块),但不会立即执行。如果加载失败,则返回nil,并附带一个错误信息。这允许我们先检查返回值,然后再决定是否执行这段代码。
详解webpack解惑:require的五种用法
commonjs 异步加载commonjs 异步加载使用 require.ensure 函数,可以在打包的时候进行代码分片,并异步加载分片后的代码。
replace-require:替换 require 语句
replace-require是一个npm包,版本号为1.1.0,主要功能是通过replaceRequire函数查找并替换源代码中的所有require调用。该函数利用acorn库解析源代码生成抽象语法
php include,include_once,require,require_once
在PHP编程语言中,include、include_once、require以及require_once是四个常用的语句,用于包含并运行指定文件中的PHP代码。
JS中define与require函数使用[项目代码]
{ myModule.myFunction();});```在这段代码中,我们通过require函数引入了'myModule'模块,然后在回调函数中通过参数myModule访问到了'myModule'模块中导出的


