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

📄 ex7_11.cpp

📁 The source code for "C++ Solutions". This book is a companion to the book that is widely recognized
💻 CPP
字号:
/* Code for exercise 7.11.
 | 
 | "C++ Solutions--Companion to The C++ Programming Language, Third Edition"
 | by David Vandevoorde; Addison-Wesley 1998; ISBN 0-201-30965-3.
 |
 | Permission to use, copy, modify, distribute and sell this software
 | and its documentation for any purpose is hereby granted without fee.
 | The author makes no representations about the suitability of this
 | software for any purpose.  It is provided "as is" without express or
 | implied warranty.
 `----------------------------------------------------------------------*/

#include <assert.h>
#include <stdarg.h>
#include <iostream.h>
#include <stdexcept>


void error(char const *fmt, ...) {
   assert(fmt);
   va_list p;
   va_start(p, fmt);
   for (char const *s = fmt; *s; ++s)
      if (*s!='%')
         std::cerr.put(*s);
      else
         switch (*(++s)) {
         case '%': std::cerr.put('%'); break;
         case 's': std::cerr << va_arg(p, char const*); break;
         case 'c': std::cerr << va_arg(p, char); break;
         case 'd': std::cerr << va_arg(p, int); break;
         default: throw std::domain_error(std::string ("panic"));
         }
   va_end(p);
}

int main() {
   error("A string \"%s\", a single character \'%c\', an integer %d\n"
         "and a percent-symbol \'%%\'.\n",
         "Hello World", '$', 12345);
   return 0;
}

⌨️ 快捷键说明

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