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

📄 ferrorf.c

📁 国外网站上的一些精典的C程序
💻 C
字号:
/***  FERRORF.C - Functions for formatted error messages*//***  ferrorf()****  Prints error message with printf() formatting syntax, then a colon,**  then a message corresponding to the value of errno, then a newline.**  Output is to filehandle.****  Public Domain by Mark R. Devlin, free usage is permitted.*/ #include <stdlib.h>#include <stdarg.h>#include <string.h>#include "errors.h" int ferrorf(FILE *filehandle, const char *format, ...){      int vfp, fp;      va_list vargs;       vfp = fp = 0;      va_start(vargs, format);      vfp = vfprintf(filehandle, format, vargs);      va_end(vargs);      fp = fprintf(filehandle, ": %s\n", sys_errlist[errno]);      return ((vfp==EOF || fp==EOF) ? EOF : (vfp+fp));}/***  cant() - An fopen() replacement with error trapping****  Call just as you would fopen(), but make sure your exit functions are**  registered with atexit().****  public domain by Bob Stout*/FILE *cant(char *fname, char *fmode){      FILE *fp;      if (NULL == (fp = fopen(fname, fmode)))      {            ferrorf(stderr, "Can't open %s", fname);            exit(EXIT_FAILURE);      }      return fp;}#ifdef TESTmain(){      char badname[] = "????????.???";      FILE *fp;      fp = cant(badname, "r");      return 0;}#endif /* TEST */

⌨️ 快捷键说明

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