printf -- 2




格式化输出int printf(const char *format,[argument]); int fprintf(FILE *stream,char *format,[argument]); 两个函数若成功返回输出的字符数,否则返回负值 int sprintf( char *buf, const char *format, [ argument] … ) ; int snprintf(char *buf, size_t size, const char *format, ...); 两个函数若调用成功返回存入数组buf的字符数,否则返回负值 注意的是,sprintf是不安全的,可能会造成buf的溢出,但是调用snprintf前会先清空buf,这点要注意 转换说明有四个可选部分和一个不可选部分组成:% [flags] [fldwidth] [precision] [lenmodifier] convtype flags:-      : 在字段内左对齐输出+      : 总是显示带符号转换的符号(空格)  
#读书笔记    #技术帖    #c语言    #龙潭书斋   
今天写了一个程序:/* * file: main.cc * author: 龙泉居士 * date: 2012-10-05 10:15 */ #include <iostream> #include <sstream> #include <cstdarg> using namespace std; void error (const char * a ...) { char ch; va_list ap; va_start (ap, a); istringstream isstr(a); while (isstr.get(ch)) { if (ch == '%') { isstr.get(ch); switch (ch) { case 's': { char *p = va_arg(ap, char *); cerr << p; break;
#技术帖    #c语言    #技术分享    #va_arg   



京ICP备15018585号