printf、fprintf、dprintf、sprintf、snprintf、vprintf 冷不防 2023-02-24 12:26 9阅读 0赞 printf、fprintf、dprintf、sprintf、snprintf均是格式化输出 ## 原型 ## #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int dprintf(int fd, const char *format, ...); //Return: 输出字符的数量 if OK, 负数 if output error int sprintf(char *str, const char *format, ...); //Return: 存在数组的字符数量 if OK, 负数 if encoding error int snprintf(char *str, size_t size, const char *format, ...); //Return: 存在数组的字符数量 if 缓冲区足够大, 负数 if encoding error #include <stdio.h> int printf(const char *format, ...); int fprintf(FILE *stream, const char *format, ...); int sprintf(char *str, const char *format, ...); int snprintf(char *str, size_t size, const char *format, ...); #include <stdarg.h> int vprintf(const char *format, va_list ap); int vfprintf(FILE *stream, const char *format, va_list ap); int vsprintf(char *str, const char *format, va_list ap); int vsnprintf(char *str, size_t size, const char *format, va_list ap); printf:写入标准输出,常用 fprintf:写入指定的流,比如写到某个 .txt 文件中 dprintf:写入指定的文件描述符 sprintf:存入指定的数组buf内,会自动在结尾追加null字节。此外,因为sprintf可能会溢出,所以调用者要确保buf的尺寸 snprintf:相对于sprintf明确指定了尺寸,防止溢出问题
还没有评论,来说两句吧...