
C语言函数变参使用
用法示例,一个编译器错误处理函数:
enum e_ErrorLevel { LEVEL_WARNING, LEVEL_ERROR, }; enum e_WorkStage { STAGE_COMPILE, STAGE_LINK, }; void handle_exception(int stage, int level, char *fmt, va_list ap) { char buf[1024]; vsprintf(buf, fmt, ap); if (stage == STAGE_COMPILE) { if (level == LEVEL_WARNING) printf("%s(第%d行): 编译警告: %s!\\n", filename, line_num, buf); else { printf("%s(第%d行): 编译错误: %s!\\n", filename, line_num, buf); exit(-1); } } else { printf("链接错误: %s!\\n", buf); exit(-1); } } void error(char *fmt,...) { va_list va; va_start(ap, fmt); handle_exception(STAGE_COMPILE, LEVEL_ERROR, fmt, ap); va_end(ap); }👁️ 阅读量:0
© 版权声明:本文《C语言函数变参使用》内容均为本站精心整理或网友自愿分享,如需转载请注明原文出处:https://www.zastudy.cn/wen/1686492996a269099.html。