28#if defined(_MSC_VER) && _MSC_VER < 1935
29#define format_string _Fmt_string
33 FILE *pfOutputInfo = NULL;
34 FILE *pfOutputWarn = NULL;
35 FILE *pfOutputErr = NULL;
45 NBT_Print(FILE *_pfOutputInfo = stdout, FILE *_pfOutputWarn = stderr, FILE *_pfOutputErr = stderr)
46 : pfOutputInfo(_pfOutputInfo)
47 , pfOutputWarn(_pfOutputWarn)
48 , pfOutputErr(_pfOutputErr)
62 template<
typename... Args>
65 FILE *pfOutput = NULL;
69 pfOutput = pfOutputInfo;
72 pfOutput = pfOutputWarn;
75 pfOutput = pfOutputErr;
89 auto tmp = std::format(std::move(fmt), std::forward<Args>(args)...);
90 fwrite(tmp.data(),
sizeof(tmp.data()[0]), tmp.size(), pfOutput);
92 catch (
const std::exception &e)
94 fprintf(stderr,
"ErrInfo Exception: \"%s\"\n", e.what());
98 fprintf(stderr,
"ErrInfo Exception: \"Unknown Error\"\n");
109 template<
typename... Args>
110 void operator()(
const std::format_string<Args...> fmt, Args&&... args)
noexcept
NBT_Print_Level
用于指示信息打印等级的枚举
定义 NBT_Print.hpp:11
@ Info
普通信息
定义 NBT_Print.hpp:12
@ Warn
警告信息
定义 NBT_Print.hpp:13
@ Err
错误信息
定义 NBT_Print.hpp:14
void operator()(NBT_Print_Level lvl, const std::format_string< Args... > fmt, Args &&... args) noexcept
函数调用运算符重载,用于将类作为仿函数调用,通过使用指定等级输出信息
定义 NBT_Print.hpp:63
~NBT_Print(void)=default
默认析构
void operator()(const std::format_string< Args... > fmt, Args &&... args) noexcept
函数调用运算符重载,用于将类作为仿函数调用,默认使用Info等级输出信息
定义 NBT_Print.hpp:110
NBT_Print(FILE *_pfOutputInfo=stdout, FILE *_pfOutputWarn=stderr, FILE *_pfOutputErr=stderr)
通过c文件对象构造
定义 NBT_Print.hpp:45