c_cpp 模具实用程序 - 终止带有错误消息和退出代码的C程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 模具实用程序 - 终止带有错误消息和退出代码的C程序相关的知识,希望对你有一定的参考价值。

#pragma once
#ifndef UTIL_H
#define UTIL_H

#include <stdio.h>
#include <stdlib.h>

void vsfdie(FILE *stream, int code, const char *format, va_list arg);
void sfdie(FILE * stream, int code, const char *format, ...);
void sdie(int code, const char *format, ...);
void die(const char *format, ...);

static inline void vsdie(int code, const char *format, va_list arg) {
  vsfdie(stderr, code, format, arg);
};

static inline void vfdie(FILE *stream, const char *format, va_list arg) {
  vsfdie(stream, EXIT_FAILURE, format, arg);
}

static inline void vdie(const char *format, va_list arg) {
  vsdie(EXIT_FAILURE, format, arg);
}

#endif
#include <stdarg.h>

#include "util.h"

void vsfdie(FILE * stream, int code, const char *format, va_list arg) {
  vfprintf(stream, format, arg);
  va_end(arg);
  exit(code);
}

void sfdie(FILE * stream, int code, const char *format, ...) {
  va_list args;
  va_start(args, format);
  vsfdie(stream, code, format, args);
}

void sdie(int code, const char *format, ...) {
  va_list args;
  va_start(args, format);
  vsfdie(stderr, code, format, args);
}

void fdie(FILE *stream, const char *format, ...) {
  va_list args;
  va_start(args, format);
  vfdie(stream, format, args);
}

void die(const char *format, ...) {
  va_list args;
  va_start(args, format);
  vdie(format, args);
}

以上是关于c_cpp 模具实用程序 - 终止带有错误消息和退出代码的C程序的主要内容,如果未能解决你的问题,请参考以下文章

退出应用程序会导致错误“来自调试器的消息:由于信号 9 而终止”

调试Mac应用程序时“来自调试器的消息:由于代码签名错误而终止”?

c_cpp Windows实用程序功能

c_cpp EMMC终身测试实用程序

如何避免程序终止urllib2.httperror 404错误并显示相应的消息

c_cpp C中的基本DNS查找实用程序