WinStd/group___win_std_str_format.html

566 lines
34 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.3"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>WinStd: String Formatting</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">WinStd
</div>
<div id="projectbrief">Windows Win32 API using Standard C++</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.3 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">String Formatting</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinstd_1_1basic__string__printf.html">winstd::basic_string_printf&lt; _Elem, _Traits, _Ax &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base template class to support string formatting using <code>printf()</code> style templates. <a href="classwinstd_1_1basic__string__printf.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinstd_1_1basic__string__msg.html">winstd::basic_string_msg&lt; _Elem, _Traits, _Ax &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base template class to support string formatting using <code><a class="el" href="group___win_std_str_format.html#ga78bf19793ce080f2826f56f228d64623" title="Formats a message string.">FormatMessage()</a></code> style templates. <a href="classwinstd_1_1basic__string__msg.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinstd_1_1basic__string__guid.html">winstd::basic_string_guid&lt; _Elem, _Traits, _Ax &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base template class to support converting GUID to string. <a href="classwinstd_1_1basic__string__guid.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinstd_1_1string__guid.html">winstd::string_guid</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single-byte character implementation of a class to support converting GUID to string. <a href="classwinstd_1_1string__guid.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classwinstd_1_1wstring__guid.html">winstd::wstring_guid</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wide character implementation of a class to support converting GUID to string. <a href="classwinstd_1_1wstring__guid.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga145b6285cc6fced0a7a61c4368b0bf12"><td class="memItemLeft" align="right" valign="top"><a id="ga145b6285cc6fced0a7a61c4368b0bf12" name="ga145b6285cc6fced0a7a61c4368b0bf12"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PRINTF_LPTSTR</b>&#160;&#160;&#160;&quot;s&quot;</td></tr>
<tr class="memdesc:ga145b6285cc6fced0a7a61c4368b0bf12"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPTSTR printf/scanf format specifier. <br /></td></tr>
<tr class="separator:ga145b6285cc6fced0a7a61c4368b0bf12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1bb2b564655d7b0dee3ec63a0fda2eb5"><td class="memItemLeft" align="right" valign="top"><a id="ga1bb2b564655d7b0dee3ec63a0fda2eb5" name="ga1bb2b564655d7b0dee3ec63a0fda2eb5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PRINTF_LPOLESTR</b>&#160;&#160;&#160;&quot;ls&quot;</td></tr>
<tr class="memdesc:ga1bb2b564655d7b0dee3ec63a0fda2eb5"><td class="mdescLeft">&#160;</td><td class="mdescRight">LPOLESTR printf/scanf format specifier. <br /></td></tr>
<tr class="separator:ga1bb2b564655d7b0dee3ec63a0fda2eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadd052e867c5d82d180924da9d0e16798"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___win_std_str_format.html#gadd052e867c5d82d180924da9d0e16798">_tcin</a>&#160;&#160;&#160;(std::cin )</td></tr>
<tr class="memdesc:gadd052e867c5d82d180924da9d0e16798"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard input stream for TCHAR strings. <a href="group___win_std_str_format.html#gadd052e867c5d82d180924da9d0e16798">More...</a><br /></td></tr>
<tr class="separator:gadd052e867c5d82d180924da9d0e16798"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4b7f5dbc77bb5d56afbb217a8dcc8544"><td class="memItemLeft" align="right" valign="top"><a id="ga4b7f5dbc77bb5d56afbb217a8dcc8544" name="ga4b7f5dbc77bb5d56afbb217a8dcc8544"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>_tcout</b>&#160;&#160;&#160;(std::cout)</td></tr>
<tr class="memdesc:ga4b7f5dbc77bb5d56afbb217a8dcc8544"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard output stream for TCHAR strings. <br /></td></tr>
<tr class="separator:ga4b7f5dbc77bb5d56afbb217a8dcc8544"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad92c7b3354a4cc35a5b9ddd16841a9c0"><td class="memItemLeft" align="right" valign="top"><a id="gad92c7b3354a4cc35a5b9ddd16841a9c0" name="gad92c7b3354a4cc35a5b9ddd16841a9c0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>_tcerr</b>&#160;&#160;&#160;(std::cerr)</td></tr>
<tr class="memdesc:gad92c7b3354a4cc35a5b9ddd16841a9c0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard error stream for TCHAR strings. <br /></td></tr>
<tr class="separator:gad92c7b3354a4cc35a5b9ddd16841a9c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51ea87c84320a64b846a002ab52ac1b8"><td class="memItemLeft" align="right" valign="top"><a id="ga51ea87c84320a64b846a002ab52ac1b8" name="ga51ea87c84320a64b846a002ab52ac1b8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>_tclog</b>&#160;&#160;&#160;(std::clog)</td></tr>
<tr class="memdesc:ga51ea87c84320a64b846a002ab52ac1b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Standard logging stream for TCHAR strings. <br /></td></tr>
<tr class="separator:ga51ea87c84320a64b846a002ab52ac1b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga9dda7a9a763b666f6fe00c4c6626621d"><td class="memItemLeft" align="right" valign="top"><a id="ga9dda7a9a763b666f6fe00c4c6626621d" name="ga9dda7a9a763b666f6fe00c4c6626621d"></a>
typedef <a class="el" href="classwinstd_1_1basic__string__printf.html">basic_string_printf</a>&lt; char, std::char_traits&lt; char &gt;, std::allocator&lt; char &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>winstd::string_printf</b></td></tr>
<tr class="memdesc:ga9dda7a9a763b666f6fe00c4c6626621d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single-byte character implementation of a class to support string formatting using <code>printf()</code> style templates. <br /></td></tr>
<tr class="separator:ga9dda7a9a763b666f6fe00c4c6626621d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0abdccf0a03840f984b7a889fea13cac"><td class="memItemLeft" align="right" valign="top"><a id="ga0abdccf0a03840f984b7a889fea13cac" name="ga0abdccf0a03840f984b7a889fea13cac"></a>
typedef <a class="el" href="classwinstd_1_1basic__string__printf.html">basic_string_printf</a>&lt; wchar_t, std::char_traits&lt; wchar_t &gt;, std::allocator&lt; wchar_t &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>winstd::wstring_printf</b></td></tr>
<tr class="memdesc:ga0abdccf0a03840f984b7a889fea13cac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wide character implementation of a class to support string formatting using <code>printf()</code> style templates. <br /></td></tr>
<tr class="separator:ga0abdccf0a03840f984b7a889fea13cac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab805ccda115191833fb01ba4457f208a"><td class="memItemLeft" align="right" valign="top"><a id="gab805ccda115191833fb01ba4457f208a" name="gab805ccda115191833fb01ba4457f208a"></a>
typedef <a class="el" href="group___win_std_str_format.html#ga9dda7a9a763b666f6fe00c4c6626621d">string_printf</a>&#160;</td><td class="memItemRight" valign="bottom"><b>winstd::tstring_printf</b></td></tr>
<tr class="memdesc:gab805ccda115191833fb01ba4457f208a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-byte / Wide-character formatted string (according to _UNICODE) <br /></td></tr>
<tr class="separator:gab805ccda115191833fb01ba4457f208a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae63195e25e08e2b3d9a9b9c2987f5740"><td class="memItemLeft" align="right" valign="top"><a id="gae63195e25e08e2b3d9a9b9c2987f5740" name="gae63195e25e08e2b3d9a9b9c2987f5740"></a>
typedef <a class="el" href="classwinstd_1_1basic__string__msg.html">basic_string_msg</a>&lt; char, std::char_traits&lt; char &gt;, std::allocator&lt; char &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>winstd::string_msg</b></td></tr>
<tr class="memdesc:gae63195e25e08e2b3d9a9b9c2987f5740"><td class="mdescLeft">&#160;</td><td class="mdescRight">Single-byte character implementation of a class to support string formatting using <code><a class="el" href="group___win_std_str_format.html#ga78bf19793ce080f2826f56f228d64623" title="Formats a message string.">FormatMessage()</a></code> style templates. <br /></td></tr>
<tr class="separator:gae63195e25e08e2b3d9a9b9c2987f5740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga52a88ab19a1a96f778dbf7a2938bc98f"><td class="memItemLeft" align="right" valign="top"><a id="ga52a88ab19a1a96f778dbf7a2938bc98f" name="ga52a88ab19a1a96f778dbf7a2938bc98f"></a>
typedef <a class="el" href="classwinstd_1_1basic__string__msg.html">basic_string_msg</a>&lt; wchar_t, std::char_traits&lt; wchar_t &gt;, std::allocator&lt; wchar_t &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>winstd::wstring_msg</b></td></tr>
<tr class="memdesc:ga52a88ab19a1a96f778dbf7a2938bc98f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wide character implementation of a class to support string formatting using <code><a class="el" href="group___win_std_str_format.html#ga78bf19793ce080f2826f56f228d64623" title="Formats a message string.">FormatMessage()</a></code> style templates. <br /></td></tr>
<tr class="separator:ga52a88ab19a1a96f778dbf7a2938bc98f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf47f07aac0b4c8ef47cf42216ab17f1b"><td class="memItemLeft" align="right" valign="top"><a id="gaf47f07aac0b4c8ef47cf42216ab17f1b" name="gaf47f07aac0b4c8ef47cf42216ab17f1b"></a>
typedef <a class="el" href="group___win_std_str_format.html#gae63195e25e08e2b3d9a9b9c2987f5740">string_msg</a>&#160;</td><td class="memItemRight" valign="bottom"><b>winstd::tstring_msg</b></td></tr>
<tr class="memdesc:gaf47f07aac0b4c8ef47cf42216ab17f1b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-byte / Wide-character formatted string (according to _UNICODE) <br /></td></tr>
<tr class="separator:gaf47f07aac0b4c8ef47cf42216ab17f1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4c44b6a587f894ee33bb58a10ba27d6b"><td class="memItemLeft" align="right" valign="top"><a id="ga4c44b6a587f894ee33bb58a10ba27d6b" name="ga4c44b6a587f894ee33bb58a10ba27d6b"></a>
typedef <a class="el" href="classwinstd_1_1string__guid.html">string_guid</a>&#160;</td><td class="memItemRight" valign="bottom"><b>winstd::tstring_guid</b></td></tr>
<tr class="memdesc:ga4c44b6a587f894ee33bb58a10ba27d6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multi-byte / Wide-character string GUID (according to _UNICODE) <br /></td></tr>
<tr class="separator:ga4c44b6a587f894ee33bb58a10ba27d6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaad906b9a0f259f7c45470a7d548957ed"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___win_std_str_format.html#gaad906b9a0f259f7c45470a7d548957ed">vsnprintf</a> (char *str, size_t capacity, const char *format, va_list arg)</td></tr>
<tr class="memdesc:gaad906b9a0f259f7c45470a7d548957ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats string using <code>printf()</code>. <a href="group___win_std_str_format.html#gaad906b9a0f259f7c45470a7d548957ed">More...</a><br /></td></tr>
<tr class="separator:gaad906b9a0f259f7c45470a7d548957ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9f831951f2e74c57aea12da36fe136d4"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___win_std_str_format.html#ga9f831951f2e74c57aea12da36fe136d4">vsnprintf</a> (wchar_t *str, size_t capacity, const wchar_t *format, va_list arg) noexcept</td></tr>
<tr class="memdesc:ga9f831951f2e74c57aea12da36fe136d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats string using <code>printf()</code>. <a href="group___win_std_str_format.html#ga9f831951f2e74c57aea12da36fe136d4">More...</a><br /></td></tr>
<tr class="separator:ga9f831951f2e74c57aea12da36fe136d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga583555761f3d01787d5e5f0226472f4e"><td class="memTemplParams" colspan="2">template&lt;class _Elem , class _Traits , class _Ax &gt; </td></tr>
<tr class="memitem:ga583555761f3d01787d5e5f0226472f4e"><td class="memTemplItemLeft" align="right" valign="top">static int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___win_std_str_format.html#ga583555761f3d01787d5e5f0226472f4e">vsprintf</a> (std::basic_string&lt; _Elem, _Traits, _Ax &gt; &amp;str, const _Elem *format, va_list arg)</td></tr>
<tr class="memdesc:ga583555761f3d01787d5e5f0226472f4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats string using <code>printf()</code>. <a href="group___win_std_str_format.html#ga583555761f3d01787d5e5f0226472f4e">More...</a><br /></td></tr>
<tr class="separator:ga583555761f3d01787d5e5f0226472f4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac397f655a858a069b3e521940af64331"><td class="memTemplParams" colspan="2">template&lt;class _Elem , class _Traits , class _Ax &gt; </td></tr>
<tr class="memitem:gac397f655a858a069b3e521940af64331"><td class="memTemplItemLeft" align="right" valign="top">static int&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___win_std_str_format.html#gac397f655a858a069b3e521940af64331">sprintf</a> (std::basic_string&lt; _Elem, _Traits, _Ax &gt; &amp;str, const _Elem *format,...)</td></tr>
<tr class="memdesc:gac397f655a858a069b3e521940af64331"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats string using <code>printf()</code>. <a href="group___win_std_str_format.html#gac397f655a858a069b3e521940af64331">More...</a><br /></td></tr>
<tr class="separator:gac397f655a858a069b3e521940af64331"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78bf19793ce080f2826f56f228d64623"><td class="memTemplParams" colspan="2">template&lt;class _Traits , class _Ax &gt; </td></tr>
<tr class="memitem:ga78bf19793ce080f2826f56f228d64623"><td class="memTemplItemLeft" align="right" valign="top">static DWORD&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___win_std_str_format.html#ga78bf19793ce080f2826f56f228d64623">FormatMessage</a> (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string&lt; char, _Traits, _Ax &gt; &amp;str, va_list *Arguments)</td></tr>
<tr class="memdesc:ga78bf19793ce080f2826f56f228d64623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats a message string. <a href="group___win_std_str_format.html#ga78bf19793ce080f2826f56f228d64623">More...</a><br /></td></tr>
<tr class="separator:ga78bf19793ce080f2826f56f228d64623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaebf39378c982c5116ea0110a69eb2f75"><td class="memTemplParams" colspan="2">template&lt;class _Traits , class _Ax &gt; </td></tr>
<tr class="memitem:gaebf39378c982c5116ea0110a69eb2f75"><td class="memTemplItemLeft" align="right" valign="top">static DWORD&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group___win_std_str_format.html#gaebf39378c982c5116ea0110a69eb2f75">FormatMessage</a> (DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, std::basic_string&lt; wchar_t, _Traits, _Ax &gt; &amp;str, va_list *Arguments)</td></tr>
<tr class="memdesc:gaebf39378c982c5116ea0110a69eb2f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Formats a message string. <a href="group___win_std_str_format.html#gaebf39378c982c5116ea0110a69eb2f75">More...</a><br /></td></tr>
<tr class="separator:gaebf39378c982c5116ea0110a69eb2f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<dl class="section user"><dt>Example</dt><dd><div class="fragment"><div class="line"><span class="comment">// Please note the PCSTR typecasting invokes an operator to return</span></div>
<div class="line"><span class="comment">// pointer to formatted buffer rather than class reference itself.</span></div>
<div class="line">cout &lt;&lt; (PCSTR)(<a class="code hl_class" href="classwinstd_1_1basic__string__printf.html">winstd::string_printf</a>(<span class="stringliteral">&quot;%i is less than %i.\n&quot;</span>, 1, 5));</div>
<div class="ttc" id="aclasswinstd_1_1basic__string__printf_html"><div class="ttname"><a href="classwinstd_1_1basic__string__printf.html">winstd::basic_string_printf</a></div><div class="ttdoc">Base template class to support string formatting using printf() style templates.</div><div class="ttdef"><b>Definition:</b> Common.h:1115</div></div>
</div><!-- fragment --> </dd></dl>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="gadd052e867c5d82d180924da9d0e16798" name="gadd052e867c5d82d180924da9d0e16798"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadd052e867c5d82d180924da9d0e16798">&#9670;&nbsp;</a></span>_tcin</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define _tcin&#160;&#160;&#160;(std::cin )</td>
</tr>
</table>
</div><div class="memdoc">
<p>Standard input stream for TCHAR strings. </p>
<p >Standard input stream for TCHAR strings </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga78bf19793ce080f2826f56f228d64623" name="ga78bf19793ce080f2826f56f228d64623"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga78bf19793ce080f2826f56f228d64623">&#9670;&nbsp;</a></span>FormatMessage() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class _Traits , class _Ax &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static DWORD FormatMessage </td>
<td>(</td>
<td class="paramtype">DWORD&#160;</td>
<td class="paramname"><em>dwFlags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">LPCVOID&#160;</td>
<td class="paramname"><em>lpSource</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DWORD&#160;</td>
<td class="paramname"><em>dwMessageId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DWORD&#160;</td>
<td class="paramname"><em>dwLanguageId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::basic_string&lt; char, _Traits, _Ax &gt; &amp;&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list *&#160;</td>
<td class="paramname"><em>Arguments</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats a message string. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms679351.aspx">FormatMessage function</a> </dd></dl>
</div>
</div>
<a id="gaebf39378c982c5116ea0110a69eb2f75" name="gaebf39378c982c5116ea0110a69eb2f75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaebf39378c982c5116ea0110a69eb2f75">&#9670;&nbsp;</a></span>FormatMessage() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class _Traits , class _Ax &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static DWORD FormatMessage </td>
<td>(</td>
<td class="paramtype">DWORD&#160;</td>
<td class="paramname"><em>dwFlags</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">LPCVOID&#160;</td>
<td class="paramname"><em>lpSource</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DWORD&#160;</td>
<td class="paramname"><em>dwMessageId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DWORD&#160;</td>
<td class="paramname"><em>dwLanguageId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::basic_string&lt; wchar_t, _Traits, _Ax &gt; &amp;&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list *&#160;</td>
<td class="paramname"><em>Arguments</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats a message string. </p>
<dl class="section see"><dt>See also</dt><dd><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms679351.aspx">FormatMessage function</a> </dd></dl>
</div>
</div>
<a id="gac397f655a858a069b3e521940af64331" name="gac397f655a858a069b3e521940af64331"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac397f655a858a069b3e521940af64331">&#9670;&nbsp;</a></span>sprintf()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class _Elem , class _Traits , class _Ax &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int sprintf </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; _Elem, _Traits, _Ax &gt; &amp;&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const _Elem *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname"><em>...</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats string using <code>printf()</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">str</td><td>Formatted string </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>String template using <code>printf()</code> style</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of characters in result. </dd></dl>
</div>
</div>
<a id="gaad906b9a0f259f7c45470a7d548957ed" name="gaad906b9a0f259f7c45470a7d548957ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaad906b9a0f259f7c45470a7d548957ed">&#9670;&nbsp;</a></span>vsnprintf() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int vsnprintf </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list&#160;</td>
<td class="paramname"><em>arg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats string using <code>printf()</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">str</td><td>Buffer to receive string </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">capacity</td><td>Size of <code>str</code> in characters </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>String template using <code>printf()</code> style </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Arguments to <code>format</code></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of characters in result. </dd></dl>
</div>
</div>
<a id="ga9f831951f2e74c57aea12da36fe136d4" name="ga9f831951f2e74c57aea12da36fe136d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9f831951f2e74c57aea12da36fe136d4">&#9670;&nbsp;</a></span>vsnprintf() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int vsnprintf </td>
<td>(</td>
<td class="paramtype">wchar_t *&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>capacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const wchar_t *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list&#160;</td>
<td class="paramname"><em>arg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats string using <code>printf()</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">str</td><td>Buffer to receive string </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">capacity</td><td>Size of <code>str</code> in characters </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>String template using <code>printf()</code> style </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Arguments to <code>format</code></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of characters in result. </dd></dl>
</div>
</div>
<a id="ga583555761f3d01787d5e5f0226472f4e" name="ga583555761f3d01787d5e5f0226472f4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga583555761f3d01787d5e5f0226472f4e">&#9670;&nbsp;</a></span>vsprintf()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class _Elem , class _Traits , class _Ax &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int vsprintf </td>
<td>(</td>
<td class="paramtype">std::basic_string&lt; _Elem, _Traits, _Ax &gt; &amp;&#160;</td>
<td class="paramname"><em>str</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const _Elem *&#160;</td>
<td class="paramname"><em>format</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list&#160;</td>
<td class="paramname"><em>arg</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Formats string using <code>printf()</code>. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">str</td><td>Formatted string </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">format</td><td>String template using <code>printf()</code> style </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">arg</td><td>Arguments to <code>format</code></td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of characters in result. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon May 9 2022 12:24:59 for WinStd by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.3
</small></address>
</body>
</html>