格式化输入-数据流图到模块结构图的直接转换方法

时间:2024-07-12 01:23:35
【文件属性】:

文件名称:格式化输入-数据流图到模块结构图的直接转换方法

文件大小:5.82MB

文件格式:PDF

更新时间:2024-07-12 01:23:35

APUE UNIX

5 . 11.1 格式化输出 执行格式化输出处理的是三个p r i n t f函数。 #include int printf(const char *f o r m a t, ...); int fprintf(FILE *f p, const char *f o r m a t, ...); 两个函数返回:若成功则为输出字符数,若输出出错则为负值 int sprintf(char *b u f, const char *f o r m a t, ...); 返回:存入数组的字符数 p r i n t f将格式化数据写到标准输出,f p r i n t f写至指定的流,s p r i n t f将格式化的字符送入数组b u f中。 s p r i n t f在该数组的尾端自动加一个n u l l字节,但该字节不包括在返回值中。 4 . 3 B S D定义s p r i n t f返回其第一个参数(缓存指针,类型为 c h a r*),而不是一 个整型。ANSI C要求s p r i n t f返回一个整型。 注意,s p r i n t f可能会造成由b u f指向的缓存的溢出。保证该缓存有足够长度是 调用者的责任。 对这三个函数可能使用的各种格式变换,请参阅U N I X手册,或K e r n i g h a n和R i t c h i e〔1 9 8 8〕 的附录B。 下列三种p r i n t f族的变体类似于上面的三种,但是可变参数表 ( . . . )代换成了a rg。 # i n c l u d e < s t d a r g . h > # i n c l u d e < s t d i o . h > int vprintf(const char *f o r m a t, va_list a rg) ; int vfprintf(FILE *f p, const char *f o r m a t, va_list a rg) ; 两个函数返回:若成功则为输出字符数,若输出出错则为负值 int vsprintf(char *b u f, const char *f o r m a t, va_list a rg) ; 返回:存入数组的字符数 在附录B的出错例程中,将使用v s p r i n t f函数。 关于ANSI C标准中有关可变长度参数表的详细说明请参阅 K e r n i g h a n和R i t c h i e〔1 9 8 8〕的 7 . 3节。应当了解的是,由ANSI C提供的可变长度参数表例程(< s t d a rg . h >头文件和相关的例程) 与由S V R 3(以及更早版本)和4 . 3 B S D提供的< v a r a rg s . h >例程是不同的。 5 . 11.2 格式化输入 执行格式化输入处理的是三个s c a n f函数。 第 5章 标 准 I/O 库 1 0 3


网友评论