1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>vsnprintf</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="libc.html#id-1.4.3" title="String Conversions"><link rel="prev" href="API-simple-strtoll.html" title="simple_strtoll"><link rel="next" href="API-vscnprintf.html" title="vscnprintf"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">vsnprintf</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-simple-strtoll.html">Prev</a> </td><th width="60%" align="center">String Conversions</th><td width="20%" align="right"> <a accesskey="n" href="API-vscnprintf.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-vsnprintf"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>vsnprintf — 
2     Format a string and place it in a buffer
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">vsnprintf </b>(</code></td><td>char * <var class="pdparam">buf</var>, </td></tr><tr><td> </td><td>size_t <var class="pdparam">size</var>, </td></tr><tr><td> </td><td>const char * <var class="pdparam">fmt</var>, </td></tr><tr><td> </td><td>va_list <var class="pdparam">args</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.4.3.6.5"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>buf</code></em></span></dt><dd><p>
4     The buffer to place the result into
5    </p></dd><dt><span class="term"><em class="parameter"><code>size</code></em></span></dt><dd><p>
6     The size of the buffer, including the trailing null space
7    </p></dd><dt><span class="term"><em class="parameter"><code>fmt</code></em></span></dt><dd><p>
8     The format string to use
9    </p></dd><dt><span class="term"><em class="parameter"><code>args</code></em></span></dt><dd><p>
10     Arguments for the format string
11    </p></dd></dl></div></div><div class="refsect1"><a name="id-1.4.3.6.6"></a><h2>Description</h2><p>
12   This function generally follows C99 vsnprintf, but has some
13</p></div><div class="refsect1"><a name="id-1.4.3.6.7"></a><h2>extensions and a few limitations</h2><p>
14   </p><p>
15
16   <code class="constant">n</code> is unsupported
17   <code class="constant">p</code>* is handled by <code class="function">pointer</code>
18   </p><p>
19
20   See <code class="function">pointer</code> or Documentation/printk-formats.txt for more
21   extensive description.
22   </p><p>
23
24   ** Please update the documentation in both places when making changes **
25   </p><p>
26
27   The return value is the number of characters which would
28   be generated for the given input, excluding the trailing
29   '\0', as per ISO C99. If you want to have the exact
30   number of characters written into <em class="parameter"><code>buf</code></em> as return value
31   (not including the trailing '\0'), use <code class="function"><a class="link" href="API-vscnprintf.html" title="vscnprintf">vscnprintf</a></code>. If the
32   return is greater than or equal to <em class="parameter"><code>size</code></em>, the resulting
33   string is truncated.
34   </p><p>
35
36   If you're not already dealing with a va_list consider using <code class="function"><a class="link" href="API-snprintf.html" title="snprintf">snprintf</a></code>.
37</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-simple-strtoll.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="libc.html#id-1.4.3">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-vscnprintf.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">simple_strtoll</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">vscnprintf</span></td></tr></table></div></body></html>
38