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