C 语言 snprintf() 函数17 Mar 2025 | 4 分钟阅读 在本节中,我们将讨论 C 编程语言中的 snprintf() 函数。snprintf 是 stdio.h 头文件中预定义的一个库函数,它将标准 printf() 函数的输出重定向到其他缓冲区。 snprintf() 函数用于将给定字符串格式化为缓冲区区域中的一系列字符或值。snprintf() 函数包含一个“n”参数,表示存储在缓冲区区域中的最大字符数,包括空字符。 snprintf 函数还返回写入或插入到缓冲区中的字符数。然而,这些字符由 printf() 函数在打印语句或 stdout 头文件中的字符中返回或显示。 ![]() 注意:snprintf() 函数会在结果输出的末尾插入一个空字符,该字符也被计入缓冲区的大小。此外,缓冲区是一个只存储字符类型元素,而不是字符串类型元素的数组。C 语言中 snprintf() 函数的语法以下是 C 编程语言中 snprintf() 函数的语法。 参数str: 它是一个字符类型数组缓冲区。 size: 它定义了可以存储在缓冲区中的最大字符数。 format: 在 C 语言中,字符串定义了一个格式,其中包含与 printf() 函数在 stdio.h 头文件中定义的相同类型的规范。 …: 它是一个可选的 (…) 参数或实参。 返回值snprintf() 函数返回已写入或存储到足够大的缓冲区中的字符或值的数量,不包括空终止字符。如果写入的字符数大于缓冲区大小,则返回负值。如果缓冲区大小太小,给定字符串将被截断或缩减到缓冲区大小。 示例 1: 演示 C 语言中 snprintf() 函数的程序 让我们创建一个程序,检查缓冲区大小并使用 C 语言中的 snprintf() 函数返回输入到缓冲区中的字符数。 当我们执行上述程序时,它会在控制台屏幕上产生给定的输出。 The given string is: Javatpoint.com Count the stored character: 16 第二次执行 The given string is: Javatpoint.com Count the stored character: -1 现在我们将最大输入字符数从 34 减少到 14,这次它返回一个负数,表示缓冲区大小小于给定字符串。 示例 2: 使用 C 语言中 snprintf() 函数的程序 让我们创建一个示例,使用 C 编程语言中的 snprintf() 函数将字符插入缓冲区并从缓冲区中返回。 当我们执行上述程序时,它会在控制台屏幕上产生给定的输出。 Buffer is written successfully! Hello friend, My name is David, and I am 19 years old. No. of characters read: 53 在上面的程序中,我们声明了字符类型缓冲区 buf[200],变量 buf_size 可以插入的最大字符数为 55。如果给定语句在定义范围内,snprintf() 函数将返回从缓冲区读取的总字符数。 第二次执行 Buffer is not completely filled or written. Hello friend, My name is David and The return value: -1 当我们定义 buf_size 为 35 时,给定语句会自动被 snprintf() 函数截断,返回一个负数 (-1) 并显示“缓冲区未完全填充或写入”。 下一个主题从 C 语言数组中删除元素 |
本节将讨论C编程语言中的Ceil函数。Ceil函数是math.h头文件的一个预定义函数。它返回大于或等于参数中传递的数字的最小整数。例如,我们...
阅读 3 分钟
在 C 中,什么是十六进制?十六进制是一种位置计数系统,它通过使用 16 作为基数,用十六个不同的符号来表示数字。这些不同的符号,即“0-9”,表示从零到九的值,而“A-F”表示从十到十五的值。什么...
5 分钟阅读
在 C 编程语言中,标识符用于表示使用符号常量的固定值。这些参数经常用于提高代码的可读性、可维护性和可修改性,这些代码可以是数字的,也可以是非数字的。C 语言的 "#define" 命令用于声明...
阅读 4 分钟
您将在此课程中发现 Kruskal 算法的工作原理。此外,您还可以在 Python、Java、C 和 C++ 中发现正在运行的 Kruskal 算法示例。当给定一个图作为输入时,Kruskal 算法(一种最小生成树算法)确定其边的子集,这些边创建了一个...
阅读 4 分钟
C语言中反转数字的程序,我们可以使用循环和算术运算符在c中反转数字。在此程序中,我们从用户那里获取数字并反转该数字。让我们看一个反转给定数字的简单c示例。示例 #include<stdio.h> int main()...
阅读1分钟
货币面值是计算货币的重要过程。在许多情况下,准确的货币计数是一项重要的能力,包括零售交易、金融分析等。从编程角度来看,自动化此过程可以保证准确性和有效性。在这篇文章中,我们将介绍三种 C 编程技术,用于...
阅读 3 分钟
在本文中,您将了解其语法、示例、复杂性、优点和缺点。strdup() 函数复制 C 编程语言中提供的字符串。它接受一个以空字符结尾的字符串作为参数。它输出一个指向新字符串的指针...
阅读9分钟
辛普森法是由托马斯·辛普森提出的一种数值积分方法,因此得名辛普森法。虽然辛普森法有一些规则,但最基本的是辛普森的两个规则:辛普森第一法则:它被称为辛普森 1/3...
阅读 3 分钟
什么是八进制数制?八进制数制是一种以 8 为基数的数制,其中基数 8 表示从 0 到 7 的八个数字。什么是十六进制数制?十六进制数制是一种以 16 为基数的数制,其中基数 16 表示……
5 分钟阅读
在本文中,我们将讨论 C 语言的魔方函数及其示例。 n 阶魔方是 n2 个数的排列,通常是不同的整数,在一个正方形中,使得魔方对角线、行和...中的 n 个数的总和。
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India