File: //opt/alt/alt-nodejs24/root/usr/share/doc/alt-nodejs24-libicu-doc/umsg_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 77.1: i18n/unicode/umsg.h File Reference</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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ICU 77.1
 <span id="projectnumber">77.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_73bc6a9bb617ea1bc89a10aa59ce84e4.html">i18n</a></li><li class="navelem"><a class="el" href="dir_0119ce638985e8a1561a00fdb5f76ff6.html">unicode</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">umsg.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>C API: MessageFormat.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "<a class="el" href="utypes_8h_source.html">unicode/utypes.h</a>"</code><br />
<code>#include "<a class="el" href="uloc_8h_source.html">unicode/uloc.h</a>"</code><br />
<code>#include "<a class="el" href="parseerr_8h_source.html">unicode/parseerr.h</a>"</code><br />
<code>#include <stdarg.h></code><br />
<code>#include "<a class="el" href="localpointer_8h_source.html">unicode/localpointer.h</a>"</code><br />
</div>
<p><a href="umsg_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceicu"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceicu.html">icu</a></td></tr>
<tr class="memdesc:namespaceicu"><td class="mdescLeft"> </td><td class="mdescRight">File <a class="el" href="coll_8h.html" title="C++ API: Collation Service. ">coll.h</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ab9e7346a57f2faed6df44a2e620e7553"><td class="memItemLeft" align="right" valign="top">typedef void * </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a></td></tr>
<tr class="memdesc:ab9e7346a57f2faed6df44a2e620e7553"><td class="mdescLeft"> </td><td class="mdescRight">The message format object. <a href="#ab9e7346a57f2faed6df44a2e620e7553">More...</a><br /></td></tr>
<tr class="separator:ab9e7346a57f2faed6df44a2e620e7553"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad34c7f22828eefc45aee20e0a04376c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status,...)</td></tr>
<tr class="memdesc:ad34c7f22828eefc45aee20e0a04376c6"><td class="mdescLeft"> </td><td class="mdescRight">Format a message for a locale. <a href="#ad34c7f22828eefc45aee20e0a04376c6">More...</a><br /></td></tr>
<tr class="separator:ad34c7f22828eefc45aee20e0a04376c6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa550993e2fe3471971693ff3adc79966"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#aa550993e2fe3471971693ff3adc79966">u_vformatMessage</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength, va_list ap, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:aa550993e2fe3471971693ff3adc79966"><td class="mdescLeft"> </td><td class="mdescRight">Format a message for a locale. <a href="#aa550993e2fe3471971693ff3adc79966">More...</a><br /></td></tr>
<tr class="separator:aa550993e2fe3471971693ff3adc79966"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a337f1e9923d5aa81530322ae4acaaeb8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a337f1e9923d5aa81530322ae4acaaeb8">u_parseMessage</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status,...)</td></tr>
<tr class="memdesc:a337f1e9923d5aa81530322ae4acaaeb8"><td class="mdescLeft"> </td><td class="mdescRight">Parse a message. <a href="#a337f1e9923d5aa81530322ae4acaaeb8">More...</a><br /></td></tr>
<tr class="separator:a337f1e9923d5aa81530322ae4acaaeb8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac49982a89e3c132b699023645da0590b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ac49982a89e3c132b699023645da0590b">u_vparseMessage</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength, va_list ap, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:ac49982a89e3c132b699023645da0590b"><td class="mdescLeft"> </td><td class="mdescRight">Parse a message. <a href="#ac49982a89e3c132b699023645da0590b">More...</a><br /></td></tr>
<tr class="separator:ac49982a89e3c132b699023645da0590b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8e1a77af33435f2a3671160069addeac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a8e1a77af33435f2a3671160069addeac">u_formatMessageWithError</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status,...)</td></tr>
<tr class="memdesc:a8e1a77af33435f2a3671160069addeac"><td class="mdescLeft"> </td><td class="mdescRight">Format a message for a locale. <a href="#a8e1a77af33435f2a3671160069addeac">More...</a><br /></td></tr>
<tr class="separator:a8e1a77af33435f2a3671160069addeac"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7f442968244d351ac4507baa0c4b4d90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a7f442968244d351ac4507baa0c4b4d90">u_vformatMessageWithError</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength, <a class="el" href="structUParseError.html">UParseError</a> *parseError, va_list ap, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a7f442968244d351ac4507baa0c4b4d90"><td class="mdescLeft"> </td><td class="mdescRight">Format a message for a locale. <a href="#a7f442968244d351ac4507baa0c4b4d90">More...</a><br /></td></tr>
<tr class="separator:a7f442968244d351ac4507baa0c4b4d90"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a12d0cb1263daf0a9d7b9f1f1ced1dc2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a12d0cb1263daf0a9d7b9f1f1ced1dc2a">u_parseMessageWithError</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status,...)</td></tr>
<tr class="memdesc:a12d0cb1263daf0a9d7b9f1f1ced1dc2a"><td class="mdescLeft"> </td><td class="mdescRight">Parse a message. <a href="#a12d0cb1263daf0a9d7b9f1f1ced1dc2a">More...</a><br /></td></tr>
<tr class="separator:a12d0cb1263daf0a9d7b9f1f1ced1dc2a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a71ae3a2c173b436426b3e9630b9bfce1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a71ae3a2c173b436426b3e9630b9bfce1">u_vparseMessageWithError</a> (const char *locale, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength, va_list ap, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a71ae3a2c173b436426b3e9630b9bfce1"><td class="mdescLeft"> </td><td class="mdescRight">Parse a message. <a href="#a71ae3a2c173b436426b3e9630b9bfce1">More...</a><br /></td></tr>
<tr class="separator:a71ae3a2c173b436426b3e9630b9bfce1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9ae3708aca6bea90f3f17810c50bceee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a9ae3708aca6bea90f3f17810c50bceee">umsg_open</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, const char *locale, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a9ae3708aca6bea90f3f17810c50bceee"><td class="mdescLeft"> </td><td class="mdescRight">Open a message formatter with given pattern and for the given locale. <a href="#a9ae3708aca6bea90f3f17810c50bceee">More...</a><br /></td></tr>
<tr class="separator:a9ae3708aca6bea90f3f17810c50bceee"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a199d1d155da36da98814c0c9cdc0c92c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a199d1d155da36da98814c0c9cdc0c92c">umsg_close</a> (<a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *format)</td></tr>
<tr class="memdesc:a199d1d155da36da98814c0c9cdc0c92c"><td class="mdescLeft"> </td><td class="mdescRight">Close a UMessageFormat. <a href="#a199d1d155da36da98814c0c9cdc0c92c">More...</a><br /></td></tr>
<tr class="separator:a199d1d155da36da98814c0c9cdc0c92c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1c1df5cf1824d6aa5c4954ec1aedc9ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a1c1df5cf1824d6aa5c4954ec1aedc9ca">umsg_clone</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a1c1df5cf1824d6aa5c4954ec1aedc9ca"><td class="mdescLeft"> </td><td class="mdescRight">Open a copy of a UMessageFormat. <a href="#a1c1df5cf1824d6aa5c4954ec1aedc9ca">More...</a><br /></td></tr>
<tr class="separator:a1c1df5cf1824d6aa5c4954ec1aedc9ca"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5a2d3ba21bb280b70e246290f8a9bc57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a5a2d3ba21bb280b70e246290f8a9bc57">umsg_setLocale</a> (<a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, const char *locale)</td></tr>
<tr class="memdesc:a5a2d3ba21bb280b70e246290f8a9bc57"><td class="mdescLeft"> </td><td class="mdescRight">Sets the locale. <a href="#a5a2d3ba21bb280b70e246290f8a9bc57">More...</a><br /></td></tr>
<tr class="separator:a5a2d3ba21bb280b70e246290f8a9bc57"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a99e64eaf01009de6cd0f58115a2d33a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a99e64eaf01009de6cd0f58115a2d33a5">umsg_getLocale</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt)</td></tr>
<tr class="memdesc:a99e64eaf01009de6cd0f58115a2d33a5"><td class="mdescLeft"> </td><td class="mdescRight">Gets the locale. <a href="#a99e64eaf01009de6cd0f58115a2d33a5">More...</a><br /></td></tr>
<tr class="separator:a99e64eaf01009de6cd0f58115a2d33a5"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2cf330b9b852556e88b928302ed047d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a2cf330b9b852556e88b928302ed047d4">umsg_applyPattern</a> (<a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, <a class="el" href="structUParseError.html">UParseError</a> *parseError, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a2cf330b9b852556e88b928302ed047d4"><td class="mdescLeft"> </td><td class="mdescRight">Sets the pattern. <a href="#a2cf330b9b852556e88b928302ed047d4">More...</a><br /></td></tr>
<tr class="separator:a2cf330b9b852556e88b928302ed047d4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a423b7d9793bc113e9b2e183fe36d31da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a423b7d9793bc113e9b2e183fe36d31da">umsg_toPattern</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a423b7d9793bc113e9b2e183fe36d31da"><td class="mdescLeft"> </td><td class="mdescRight">Gets the pattern. <a href="#a423b7d9793bc113e9b2e183fe36d31da">More...</a><br /></td></tr>
<tr class="separator:a423b7d9793bc113e9b2e183fe36d31da"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4d8cd87146b79f0d0c85d0bb7d867498"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a4d8cd87146b79f0d0c85d0bb7d867498">umsg_format</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status,...)</td></tr>
<tr class="memdesc:a4d8cd87146b79f0d0c85d0bb7d867498"><td class="mdescLeft"> </td><td class="mdescRight">Format a message for a locale. <a href="#a4d8cd87146b79f0d0c85d0bb7d867498">More...</a><br /></td></tr>
<tr class="separator:a4d8cd87146b79f0d0c85d0bb7d867498"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a43b65b4fc8d02cbbbcfbeda9caf52429"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a43b65b4fc8d02cbbbcfbeda9caf52429">umsg_vformat</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength, va_list ap, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:a43b65b4fc8d02cbbbcfbeda9caf52429"><td class="mdescLeft"> </td><td class="mdescRight">Format a message for a locale. <a href="#a43b65b4fc8d02cbbbcfbeda9caf52429">More...</a><br /></td></tr>
<tr class="separator:a43b65b4fc8d02cbbbcfbeda9caf52429"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaa3a56c75dc1ff5ebed4aa9785c96169"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#aaa3a56c75dc1ff5ebed4aa9785c96169">umsg_parse</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength, int32_t *count, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status,...)</td></tr>
<tr class="memdesc:aaa3a56c75dc1ff5ebed4aa9785c96169"><td class="mdescLeft"> </td><td class="mdescRight">Parse a message. <a href="#aaa3a56c75dc1ff5ebed4aa9785c96169">More...</a><br /></td></tr>
<tr class="separator:aaa3a56c75dc1ff5ebed4aa9785c96169"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae985af0cffc2d9e2d478b9a062381fc8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ae985af0cffc2d9e2d478b9a062381fc8">umsg_vparse</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength, int32_t *count, va_list ap, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status)</td></tr>
<tr class="memdesc:ae985af0cffc2d9e2d478b9a062381fc8"><td class="mdescLeft"> </td><td class="mdescRight">Parse a message. <a href="#ae985af0cffc2d9e2d478b9a062381fc8">More...</a><br /></td></tr>
<tr class="separator:ae985af0cffc2d9e2d478b9a062381fc8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a5ea3090b5b7f3fa5fa376a5d68cb32"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a0a5ea3090b5b7f3fa5fa376a5d68cb32">umsg_autoQuoteApostrophe</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *pattern, int32_t patternLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destCapacity, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *ec)</td></tr>
<tr class="memdesc:a0a5ea3090b5b7f3fa5fa376a5d68cb32"><td class="mdescLeft"> </td><td class="mdescRight">Convert an 'apostrophe-friendly' pattern into a standard pattern. <a href="#a0a5ea3090b5b7f3fa5fa376a5d68cb32">More...</a><br /></td></tr>
<tr class="separator:a0a5ea3090b5b7f3fa5fa376a5d68cb32"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C API: MessageFormat. </p>
<h2>MessageFormat C API </h2>
<p>MessageFormat prepares strings for display to users, with optional arguments (variables/placeholders). The arguments can occur in any order, which is necessary for translation into languages with different grammars.</p>
<p>The opaque UMessageFormat type is a thin C wrapper around a C++ MessageFormat. It is constructed from a <em>pattern</em> string with arguments in {curly braces} which will be replaced by formatted values.</p>
<p>Currently, the C API supports only numbered arguments.</p>
<p>For details about the pattern syntax and behavior, especially about the ASCII apostrophe vs. the real apostrophe (single quote) character ’ (U+2019), see the C++ MessageFormat class documentation.</p>
<p>Here are some examples of C API usage: Example 1: </p><pre>
<div class="fragment"><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, *tzID, *str;</div><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> pattern[100];</div><div class="line">int32_t resultLengthOut, resultlength;</div><div class="line"><a class="code" href="ucal_8h.html#afb45437aa9182d9fdcd96a2119e1e144">UCalendar</a> *cal;</div><div class="line"><a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039">UDate</a> d1;</div><div class="line"><a class="code" href="udat_8h.html#a27d96fa46db679d5b8583dff2e6c023f">UDateFormat</a> *def1;</div><div class="line"><a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"></div><div class="line">str=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)malloc(<span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * (strlen(<span class="stringliteral">"disturbance in force"</span>) +1));</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(str, <span class="stringliteral">"disturbance in force"</span>);</div><div class="line">tzID=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)malloc(<span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * 4);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(tzID, <span class="stringliteral">"PST"</span>);</div><div class="line">cal=<a class="code" href="ucal_8h.html#a4dd692591483808887d5cf73d51f35e1">ucal_open</a>(tzID, <a class="code" href="group__ustring__ustrlen.html#ga43199ed47f7c008e6baceccb5f66914a">u_strlen</a>(tzID), <span class="stringliteral">"en_US"</span>, <a class="code" href="ucal_8h.html#a80db55a10d0808a9f9b61e105b9d32fbaf40f59ee818a37ecfa599e89eb0c334d">UCAL_TRADITIONAL</a>, &status);</div><div class="line"><a class="code" href="ucal_8h.html#af61f439863afcd0995daf6c1ffcfe918">ucal_setDateTime</a>(cal, 1999, <a class="code" href="ucal_8h.html#af13a67d4d259962e1840471f3a8e6596af65658af9cb3b9b829ae218318d8c11b">UCAL_MARCH</a>, 18, 0, 0, 0, &status);</div><div class="line">d1=<a class="code" href="ucal_8h.html#add51bedf5c70c827193a4586e1373ee5">ucal_getMillis</a>(cal, &status);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(pattern, <span class="stringliteral">"On {0, date, long}, there was a {1} on planet {2,number,integer}"</span>);</div><div class="line">resultlength=0;</div><div class="line">resultLengthOut=<a class="code" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>( <span class="stringliteral">"en_US"</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#ga43199ed47f7c008e6baceccb5f66914a">u_strlen</a>(pattern), <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, resultlength, &status, d1, str, 7);</div><div class="line"><span class="keywordflow">if</span>(status==<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca294424f5f497a3161ed08b63ac962135">U_BUFFER_OVERFLOW_ERROR</a>){</div><div class="line"> status=<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"> resultlength=resultLengthOut+1;</div><div class="line"> result=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)realloc(result, <span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * resultlength);</div><div class="line"> <a class="code" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>( <span class="stringliteral">"en_US"</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#ga43199ed47f7c008e6baceccb5f66914a">u_strlen</a>(pattern), result, resultlength, &status, d1, str, 7);</div><div class="line">}</div><div class="line">printf(<span class="stringliteral">"%s\n"</span>, austrdup(result) );<span class="comment">//austrdup( a function used to convert UChar* to char*)</span></div><div class="line"><span class="comment">//output>: "On March 18, 1999, there was a disturbance in force on planet 7</span></div></div><!-- fragment -->
</pre><p> Typically, the message format will come from resources, and the arguments will be dynamically set at runtime. </p>
<p>Example 2: </p><pre>
<div class="fragment"><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>* str;</div><div class="line"><a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result;</div><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> pattern[100];</div><div class="line">int32_t resultlength, resultLengthOut, i;</div><div class="line"><span class="keywordtype">double</span> testArgs= { 100.0, 1.0, 0.0};</div><div class="line"></div><div class="line">str=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)malloc(<span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * 10);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(str, <span class="stringliteral">"MyDisk"</span>);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(pattern, <span class="stringliteral">"The disk {1} contains {0,choice,0#no files|1#one file|1<{0,number,integer} files}"</span>);</div><div class="line"><span class="keywordflow">for</span>(i=0; i<3; i++){</div><div class="line"> resultlength=0; </div><div class="line"> resultLengthOut=<a class="code" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>( <span class="stringliteral">"en_US"</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#ga43199ed47f7c008e6baceccb5f66914a">u_strlen</a>(pattern), <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, resultlength, &status, testArgs[i], str); </div><div class="line"> <span class="keywordflow">if</span>(status==<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca294424f5f497a3161ed08b63ac962135">U_BUFFER_OVERFLOW_ERROR</a>){</div><div class="line"> status=<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"> resultlength=resultLengthOut+1;</div><div class="line"> result=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)malloc(<span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * resultlength);</div><div class="line"> <a class="code" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>( <span class="stringliteral">"en_US"</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#ga43199ed47f7c008e6baceccb5f66914a">u_strlen</a>(pattern), result, resultlength, &status, testArgs[i], str);</div><div class="line"> }</div><div class="line"> printf(<span class="stringliteral">"%s\n"</span>, austrdup(result) ); <span class="comment">//austrdup( a function used to convert UChar* to char*)</span></div><div class="line"> free(result);</div><div class="line">}</div><div class="line"><span class="comment">// output, with different testArgs:</span></div><div class="line"><span class="comment">// output: The disk "MyDisk" contains 100 files.</span></div><div class="line"><span class="comment">// output: The disk "MyDisk" contains one file.</span></div><div class="line"><span class="comment">// output: The disk "MyDisk" contains no files.</span></div></div><!-- fragment -->
</pre><p>Example 3: </p><pre>
<div class="fragment"><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>* str;</div><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>* str1;</div><div class="line"><a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result;</div><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> pattern[100];</div><div class="line"><a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> expected[100];</div><div class="line">int32_t resultlength,resultLengthOut;</div><div class="line"></div><div class="line">str=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)malloc(<span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * 25);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(str, <span class="stringliteral">"Kirti"</span>);</div><div class="line">str1=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)malloc(<span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * 25);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(str1, <span class="stringliteral">"female"</span>);</div><div class="line">log_verbose(<span class="stringliteral">"Testing message format with Select test #1\n:"</span>);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(pattern, <span class="stringliteral">"{0} est {1, select, female {all\\u00E9e} other {all\\u00E9}} \\u00E0 Paris."</span>);</div><div class="line"><a class="code" href="ustring_8h.html#a3503fa3564e63c749a4f3e32bcc4bad2">u_uastrcpy</a>(expected, <span class="stringliteral">"Kirti est all\\u00E9e \\u00E0 Paris."</span>);</div><div class="line">resultlength=0;</div><div class="line">resultLengthOut=<a class="code" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>( <span class="stringliteral">"fr"</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#ga43199ed47f7c008e6baceccb5f66914a">u_strlen</a>(pattern), <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, resultlength, &status, str , str1);</div><div class="line"><span class="keywordflow">if</span>(status==<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca294424f5f497a3161ed08b63ac962135">U_BUFFER_OVERFLOW_ERROR</a>)</div><div class="line"> {</div><div class="line"> status=<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>;</div><div class="line"> resultlength=resultLengthOut+1;</div><div class="line"> result=(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>*)malloc(<span class="keyword">sizeof</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>) * resultlength);</div><div class="line"> <a class="code" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>( <span class="stringliteral">"fr"</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#ga43199ed47f7c008e6baceccb5f66914a">u_strlen</a>(pattern), result, resultlength, &status, str , str1);</div><div class="line"> <span class="keywordflow">if</span>(<a class="code" href="ustring_8h.html#a0643e0e0d84fe03508a7a3b17ace2c13">u_strcmp</a>(result, expected)==0)</div><div class="line"> log_verbose(<span class="stringliteral">"PASS: MessagFormat successful on Select test#1\n"</span>);</div><div class="line"> <span class="keywordflow">else</span>{</div><div class="line"> log_err(<span class="stringliteral">"FAIL: Error in MessageFormat on Select test#1\n GOT %s EXPECTED %s\n"</span>, austrdup(result),</div><div class="line"> austrdup(expected) );</div><div class="line"> }</div><div class="line"> free(result);</div><div class="line">}</div></div><!-- fragment -->
</pre>
<p class="definition">Definition in file <a class="el" href="umsg_8h_source.html">umsg.h</a>.</p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="ab9e7346a57f2faed6df44a2e620e7553"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9e7346a57f2faed6df44a2e620e7553">◆ </a></span>UMessageFormat</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef void* <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>The message format object. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006584">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<p class="definition">Definition at line <a class="el" href="umsg_8h_source.html#l00387">387</a> of file <a class="el" href="umsg_8h_source.html">umsg.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ad34c7f22828eefc45aee20e0a04376c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad34c7f22828eefc45aee20e0a04376c6">◆ </a></span>u_formatMessage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t u_formatMessage </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>result</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>resultLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>...</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format a message for a locale. </p>
<p>This function may perform re-ordering of the arguments depending on the locale. For all numeric arguments, double is assumed unless the type is explicitly integer. All choice format arguments must be of type double. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message will be formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">result</td><td>A pointer to a buffer to receive the formatted message. </td></tr>
<tr><td class="paramname">resultLength</td><td>The maximum size of result. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors </td></tr>
<tr><td class="paramname">...</td><td>A variable-length argument list containing the arguments specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The total buffer size needed; if greater than resultLength, the output was truncated. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#a337f1e9923d5aa81530322ae4acaaeb8" title="Parse a message. ">u_parseMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006576">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a8e1a77af33435f2a3671160069addeac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e1a77af33435f2a3671160069addeac">◆ </a></span>u_formatMessageWithError()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t u_formatMessageWithError </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>result</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>resultLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> * </td>
<td class="paramname"><em>parseError</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>...</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format a message for a locale. </p>
<p>This function may perform re-ordering of the arguments depending on the locale. For all numeric arguments, double is assumed unless the type is explicitly integer. All choice format arguments must be of type double. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message will be formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">result</td><td>A pointer to a buffer to receive the formatted message. </td></tr>
<tr><td class="paramname">resultLength</td><td>The maximum size of result. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors </td></tr>
<tr><td class="paramname">...</td><td>A variable-length argument list containing the arguments specified in pattern. </td></tr>
<tr><td class="paramname">parseError</td><td>A pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors. ">UParseError</a> to receive information about errors occurred during parsing. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The total buffer size needed; if greater than resultLength, the output was truncated. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#a337f1e9923d5aa81530322ae4acaaeb8" title="Parse a message. ">u_parseMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006580">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a337f1e9923d5aa81530322ae4acaaeb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a337f1e9923d5aa81530322ae4acaaeb8">◆ </a></span>u_parseMessage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_parseMessage </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>sourceLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>...</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a message. </p>
<p>For numeric arguments, this function will always use doubles. Integer types should not be passed. This function is not able to parse all output from <a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message is formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">source</td><td>The text to parse. </td></tr>
<tr><td class="paramname">sourceLength</td><td>The length of source, or -1 if null-terminated. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors </td></tr>
<tr><td class="paramname">...</td><td>A variable-length argument list containing the arguments specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006578">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a12d0cb1263daf0a9d7b9f1f1ced1dc2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12d0cb1263daf0a9d7b9f1f1ced1dc2a">◆ </a></span>u_parseMessageWithError()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_parseMessageWithError </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>sourceLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> * </td>
<td class="paramname"><em>parseError</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>...</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a message. </p>
<p>For numeric arguments, this function will always use doubles. Integer types should not be passed. This function is not able to parse all output from <a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message is formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">source</td><td>The text to parse. </td></tr>
<tr><td class="paramname">sourceLength</td><td>The length of source, or -1 if null-terminated. </td></tr>
<tr><td class="paramname">parseError</td><td>A pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors. ">UParseError</a> to receive information about errors occurred during parsing. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors </td></tr>
<tr><td class="paramname">...</td><td>A variable-length argument list containing the arguments specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006582">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="aa550993e2fe3471971693ff3adc79966"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa550993e2fe3471971693ff3adc79966">◆ </a></span>u_vformatMessage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t u_vformatMessage </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>result</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>resultLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list </td>
<td class="paramname"><em>ap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format a message for a locale. </p>
<p>This function may perform re-ordering of the arguments depending on the locale. For all numeric arguments, double is assumed unless the type is explicitly integer. All choice format arguments must be of type double. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message will be formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">result</td><td>A pointer to a buffer to receive the formatted message. </td></tr>
<tr><td class="paramname">resultLength</td><td>The maximum size of result. </td></tr>
<tr><td class="paramname">ap</td><td>A variable-length argument list containing the arguments specified </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The total buffer size needed; if greater than resultLength, the output was truncated. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#a337f1e9923d5aa81530322ae4acaaeb8" title="Parse a message. ">u_parseMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006577">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a7f442968244d351ac4507baa0c4b4d90"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f442968244d351ac4507baa0c4b4d90">◆ </a></span>u_vformatMessageWithError()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t u_vformatMessageWithError </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>result</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>resultLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> * </td>
<td class="paramname"><em>parseError</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list </td>
<td class="paramname"><em>ap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format a message for a locale. </p>
<p>This function may perform re-ordering of the arguments depending on the locale. For all numeric arguments, double is assumed unless the type is explicitly integer. All choice format arguments must be of type double. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message will be formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">result</td><td>A pointer to a buffer to receive the formatted message. </td></tr>
<tr><td class="paramname">resultLength</td><td>The maximum size of result. </td></tr>
<tr><td class="paramname">parseError</td><td>A pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors. ">UParseError</a> to receive information about errors occurred during parsing. </td></tr>
<tr><td class="paramname">ap</td><td>A variable-length argument list containing the arguments specified </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The total buffer size needed; if greater than resultLength, the output was truncated. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006581">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="ac49982a89e3c132b699023645da0590b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac49982a89e3c132b699023645da0590b">◆ </a></span>u_vparseMessage()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_vparseMessage </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>sourceLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list </td>
<td class="paramname"><em>ap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a message. </p>
<p>For numeric arguments, this function will always use doubles. Integer types should not be passed. This function is not able to parse all output from <a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message is formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">source</td><td>The text to parse. </td></tr>
<tr><td class="paramname">sourceLength</td><td>The length of source, or -1 if null-terminated. </td></tr>
<tr><td class="paramname">ap</td><td>A variable-length argument list containing the arguments </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006579">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a71ae3a2c173b436426b3e9630b9bfce1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71ae3a2c173b436426b3e9630b9bfce1">◆ </a></span>u_vparseMessageWithError()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void u_vparseMessageWithError </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>sourceLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list </td>
<td class="paramname"><em>ap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> * </td>
<td class="paramname"><em>parseError</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a message. </p>
<p>For numeric arguments, this function will always use doubles. Integer types should not be passed. This function is not able to parse all output from <a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6">u_formatMessage</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">locale</td><td>The locale for which the message is formatted </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern specifying the message's format </td></tr>
<tr><td class="paramname">patternLength</td><td>The length of pattern </td></tr>
<tr><td class="paramname">source</td><td>The text to parse. </td></tr>
<tr><td class="paramname">sourceLength</td><td>The length of source, or -1 if null-terminated. </td></tr>
<tr><td class="paramname">ap</td><td>A variable-length argument list containing the arguments </td></tr>
<tr><td class="paramname">parseError</td><td>A pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors. ">UParseError</a> to receive information about errors occurred during parsing. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006583">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a2cf330b9b852556e88b928302ed047d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cf330b9b852556e88b928302ed047d4">◆ </a></span>umsg_applyPattern()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void umsg_applyPattern </td>
<td>(</td>
<td class="paramtype"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> * </td>
<td class="paramname"><em>parseError</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to use </td></tr>
<tr><td class="paramname">pattern</td><td>The pattern to be applied. </td></tr>
<tr><td class="paramname">patternLength</td><td>Length of the pattern to use </td></tr>
<tr><td class="paramname">parseError</td><td>Struct to receive information on position of error if an error is encountered.Can be NULL. </td></tr>
<tr><td class="paramname">status</td><td>Output param set to success/failure code on exit. If the pattern is invalid, this will be set to a failure result. </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006590">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a0a5ea3090b5b7f3fa5fa376a5d68cb32"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a5ea3090b5b7f3fa5fa376a5d68cb32">◆ </a></span>umsg_autoQuoteApostrophe()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t umsg_autoQuoteApostrophe </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>dest</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>destCapacity</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>ec</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert an 'apostrophe-friendly' pattern into a standard pattern. </p>
<p>Standard patterns treat all apostrophes as quotes, which is problematic in some languages, e.g. French, where apostrophe is commonly used. This utility assumes that only an unpaired apostrophe immediately before a brace is a true quote. Other unpaired apostrophes are paired, and the resulting standard pattern string is returned.</p>
<p><b>Note</b> it is not guaranteed that the returned pattern is indeed a valid pattern. The only effect is to convert between patterns having different quoting semantics.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pattern</td><td>the 'apostrophe-friendly' patttern to convert </td></tr>
<tr><td class="paramname">patternLength</td><td>the length of pattern, or -1 if unknown and pattern is null-terminated </td></tr>
<tr><td class="paramname">dest</td><td>the buffer for the result, or NULL if preflight only </td></tr>
<tr><td class="paramname">destCapacity</td><td>the length of the buffer, or 0 if preflighting </td></tr>
<tr><td class="paramname">ec</td><td>the error code </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the length of the resulting text, not including trailing null if buffer has room for the trailing null, it is provided, otherwise not </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006596">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>
</div>
</div>
<a id="a1c1df5cf1824d6aa5c4954ec1aedc9ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c1df5cf1824d6aa5c4954ec1aedc9ca">◆ </a></span>umsg_clone()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> umsg_clone </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Open a copy of a UMessageFormat. </p>
<p>This function performs a deep copy. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to copy </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a UDateFormat identical to fmt. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006587">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a199d1d155da36da98814c0c9cdc0c92c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a199d1d155da36da98814c0c9cdc0c92c">◆ </a></span>umsg_close()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void umsg_close </td>
<td>(</td>
<td class="paramtype"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>format</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Close a UMessageFormat. </p>
<p>Once closed, a UMessageFormat may no longer be used. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">format</td><td>The formatter to close. </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006586">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a4d8cd87146b79f0d0c85d0bb7d867498"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d8cd87146b79f0d0c85d0bb7d867498">◆ </a></span>umsg_format()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t umsg_format </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>result</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>resultLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>...</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format a message for a locale. </p>
<p>This function may perform re-ordering of the arguments depending on the locale. For all numeric arguments, double is assumed unless the type is explicitly integer. All choice format arguments must be of type double. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to use </td></tr>
<tr><td class="paramname">result</td><td>A pointer to a buffer to receive the formatted message. </td></tr>
<tr><td class="paramname">resultLength</td><td>The maximum size of result. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors </td></tr>
<tr><td class="paramname">...</td><td>A variable-length argument list containing the arguments specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The total buffer size needed; if greater than resultLength, the output was truncated. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006592">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a99e64eaf01009de6cd0f58115a2d33a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99e64eaf01009de6cd0f58115a2d33a5">◆ </a></span>umsg_getLocale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const char* umsg_getLocale </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the locale. </p>
<p>This locale is used for fetching default number or date format information. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to querry </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the locale. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006589">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a9ae3708aca6bea90f3f17810c50bceee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ae3708aca6bea90f3f17810c50bceee">◆ </a></span>umsg_open()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a>* umsg_open </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>pattern</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>patternLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structUParseError.html">UParseError</a> * </td>
<td class="paramname"><em>parseError</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Open a message formatter with given pattern and for the given locale. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pattern</td><td>A pattern specifying the format to use. </td></tr>
<tr><td class="paramname">patternLength</td><td>Length of the pattern to use </td></tr>
<tr><td class="paramname">locale</td><td>The locale for which the messages are formatted. </td></tr>
<tr><td class="paramname">parseError</td><td>A pointer to <a class="el" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors. ">UParseError</a> struct to receive any errors occurred during parsing. Can be NULL. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A pointer to a UMessageFormat to use for formatting messages, or 0 if an error occurred. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006585">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="aaa3a56c75dc1ff5ebed4aa9785c96169"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa3a56c75dc1ff5ebed4aa9785c96169">◆ </a></span>umsg_parse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void umsg_parse </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>sourceLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t * </td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname"><em>...</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a message. </p>
<p>For numeric arguments, this function will always use doubles. Integer types should not be passed. This function is not able to parse all output from <a class="el" href="umsg_8h.html#a4d8cd87146b79f0d0c85d0bb7d867498">umsg_format</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to use </td></tr>
<tr><td class="paramname">source</td><td>The text to parse. </td></tr>
<tr><td class="paramname">sourceLength</td><td>The length of source, or -1 if null-terminated. </td></tr>
<tr><td class="paramname">count</td><td>Output param to receive number of elements returned. </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors </td></tr>
<tr><td class="paramname">...</td><td>A variable-length argument list containing the arguments specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006594">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a5a2d3ba21bb280b70e246290f8a9bc57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a2d3ba21bb280b70e246290f8a9bc57">◆ </a></span>umsg_setLocale()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void umsg_setLocale </td>
<td>(</td>
<td class="paramtype"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>locale</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the locale. </p>
<p>This locale is used for fetching default number or date format information. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to set </td></tr>
<tr><td class="paramname">locale</td><td>The locale the formatter should use. </td></tr>
</table>
</dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006588">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a423b7d9793bc113e9b2e183fe36d31da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a423b7d9793bc113e9b2e183fe36d31da">◆ </a></span>umsg_toPattern()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t umsg_toPattern </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>result</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>resultLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Gets the pattern. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to use </td></tr>
<tr><td class="paramname">result</td><td>A pointer to a buffer to receive the pattern. </td></tr>
<tr><td class="paramname">resultLength</td><td>The maximum size of result. </td></tr>
<tr><td class="paramname">status</td><td>Output param set to success/failure code on exit. If the pattern is invalid, this will be set to a failure result. <br />
</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the pattern of the format </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006591">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="a43b65b4fc8d02cbbbcfbeda9caf52429"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43b65b4fc8d02cbbbcfbeda9caf52429">◆ </a></span>umsg_vformat()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> int32_t umsg_vformat </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>result</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>resultLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list </td>
<td class="paramname"><em>ap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Format a message for a locale. </p>
<p>This function may perform re-ordering of the arguments depending on the locale. For all numeric arguments, double is assumed unless the type is explicitly integer. All choice format arguments must be of type double. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to use </td></tr>
<tr><td class="paramname">result</td><td>A pointer to a buffer to receive the formatted message. </td></tr>
<tr><td class="paramname">resultLength</td><td>The maximum size of result. </td></tr>
<tr><td class="paramname">ap</td><td>A variable-length argument list containing the arguments </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The total buffer size needed; if greater than resultLength, the output was truncated. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006593">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
<a id="ae985af0cffc2d9e2d478b9a062381fc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae985af0cffc2d9e2d478b9a062381fc8">◆ </a></span>umsg_vparse()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void umsg_vparse </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> * </td>
<td class="paramname"><em>fmt</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> * </td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t </td>
<td class="paramname"><em>sourceLength</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32_t * </td>
<td class="paramname"><em>count</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">va_list </td>
<td class="paramname"><em>ap</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> * </td>
<td class="paramname"><em>status</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a message. </p>
<p>For numeric arguments, this function will always use doubles. Integer types should not be passed. This function is not able to parse all output from <a class="el" href="umsg_8h.html#a4d8cd87146b79f0d0c85d0bb7d867498">umsg_format</a>. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fmt</td><td>The formatter to use </td></tr>
<tr><td class="paramname">source</td><td>The text to parse. </td></tr>
<tr><td class="paramname">sourceLength</td><td>The length of source, or -1 if null-terminated. </td></tr>
<tr><td class="paramname">count</td><td>Output param to receive number of elements returned. </td></tr>
<tr><td class="paramname">ap</td><td>A variable-length argument list containing the arguments </td></tr>
<tr><td class="paramname">status</td><td>A pointer to an UErrorCode to receive any errors specified in pattern. </td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="umsg_8h.html#ad34c7f22828eefc45aee20e0a04376c6" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable006595">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by  <a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>