C中所有打印函数之间有什么区别?

我是 C 的新手。 printf、vprintf、vfprintf、vsprintf 和 vsnprintf 之间有什么区别?

回答

Printf 是“打印格式化的”,它采用格式字符串和一系列可变参数形式的格式参数,应用格式并将输出写入标准输出。

“f”变体将输出写入文件而不是标准输出。

“s”变体写入字符数组而不是标准输出。不幸的是,基本的 sprintf 函数没有溢出保护,因此除非您仔细计算了最大可能的大小(并且在所述计算中没有做出任何无根据的假设),否则使用它是有风险的。snprintf 添加了大小限制。

“v”变体采用 va_list 而不是直接采用可变参数。在编写从用户获取可变参数并将它们传递给 printf 的包装函数时,它们很有用。


以上是C中所有打印函数之间有什么区别?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>