1. 首页
  2. 考试认证
  3. 其它
  4. 格式化输入-hds ams 2500用户手册

格式化输入-hds ams 2500用户手册

上传者: 2024-07-22 18:05:24上传 PDF文件 17.98MB 热度 6次

格式化输出执行格式化输出处理的是三个printf函数。


#include 

int printf(const char *format, ...);

int fprintf(FILE *fp, const char *format, ...);

两个函数返回:若成功则为输出字符数,若输出出错则为负值。


int sprintf(char *buf, const char *format, ...);

返回:存入数组的字符数。printf将格式化数据写到标准输出,fprintf写至指定的流,sprintf将格式化的字符送入数组buf中。sprintf在该数组的尾端自动加一个null字节,但该字节不包括在返回值中。是不是有点复杂?别担心,只要记住printf输出到屏幕,fprintf输出到文件,sprintf输出到字符串就好!

4.3 BSD定义sprintf返回其第一个参数(缓存指针,类型为char*),而不是一个整型。而ANSI C要求sprintf返回一个整型。注意,sprintf可能会造成由buf指向的缓存的溢出。保证该缓存有足够长度是调用者的责任。这是不是让你开始担心了?别担心,只要确保你分配的数组足够大就不会有问题。

对这三个函数可能使用的各种格式变换,请参阅UNIX手册,或Kernighan和Ritchie〔1988〕的附录B。这里还有更多详情,了解一下?

下列三种printf族的变体类似于上面的三种,但是可变参数表(...)代换成了arg


#include <stdarg.h>

#include <stdio.h>

int vprintf(const char *format, va_list arg);

int vfprintf(FILE *fp, const char *format, va_list arg);

stdio.h>stdarg.h>

两个函数返回:若成功则为输出字符数,若输出出错则为负值。


int vsprintf(char *buf, const char *format, va_list arg);

返回:存入数组的字符数。在附录B的出错例程中,将使用vsprintf函数。关于ANSI C标准中有关可变长度参数表的详细说明请参阅Kernighan和Ritchie〔1988〕的7.3节。应当了解的是,由ANSI C提供的可变长度参数表例程(头文件和相关的例程)与由SVR 3(以及更早版本)和4.3 BSD提供的例程是不同的。真是个意外惊喜!想进一步了解?点这里

格式化输入执行格式化输入处理的是三个scanf函数。这部分内容你可以在这篇文章里找到更多详细解释。

下载地址
用户评论