Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-updates > by-pkgid > 67d6f1fcdf59eeb6f1363fc33c40091c > files > 1356

icu-doc-53.1-12.6.mga5.noarch.rpm

<!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.6"/>
<title>ICU 53.1: 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/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
   <div id="projectname">ICU 53.1
   &#160;<span id="projectnumber">53.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></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_55bf5c6bcedc2c5705af95fc7596ac50.html">icu</a></li><li class="navelem"><a class="el" href="dir_17c4e3d278dd0be6889e0e8c41145d45.html">source</a></li><li class="navelem"><a class="el" href="dir_50278085fbfb203a4ae8d13ac447741e.html">i18n</a></li><li class="navelem"><a class="el" href="dir_47d86980f74387e1e780cfdfbee4bf19.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<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 &quot;<a class="el" href="utypes_8h_source.html">unicode/utypes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="localpointer_8h_source.html">unicode/localpointer.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="uloc_8h_source.html">unicode/uloc.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="parseerr_8h_source.html">unicode/parseerr.h</a>&quot;</code><br/>
<code>#include &lt;stdarg.h&gt;</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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceicu.html">icu</a></td></tr>
<tr class="memdesc:namespaceicu"><td class="mdescLeft">&#160;</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">&#160;</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 *&#160;</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">&#160;</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">&#160;</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:a4c02e1b7cff1ab8d463878e9aa1f0255"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a4c02e1b7cff1ab8d463878e9aa1f0255">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:a4c02e1b7cff1ab8d463878e9aa1f0255"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format a message for a locale.  <a href="#a4c02e1b7cff1ab8d463878e9aa1f0255">More...</a><br/></td></tr>
<tr class="separator:a4c02e1b7cff1ab8d463878e9aa1f0255"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19d9729739a5e7064219a5102a2ec290"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a19d9729739a5e7064219a5102a2ec290">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:a19d9729739a5e7064219a5102a2ec290"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format a message for a locale.  <a href="#a19d9729739a5e7064219a5102a2ec290">More...</a><br/></td></tr>
<tr class="separator:a19d9729739a5e7064219a5102a2ec290"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a954261c179cdbe9f7d84c272451d7fa7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a954261c179cdbe9f7d84c272451d7fa7">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:a954261c179cdbe9f7d84c272451d7fa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a message.  <a href="#a954261c179cdbe9f7d84c272451d7fa7">More...</a><br/></td></tr>
<tr class="separator:a954261c179cdbe9f7d84c272451d7fa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae01d11a87fd5511e356f0adc0a97df23"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ae01d11a87fd5511e356f0adc0a97df23">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:ae01d11a87fd5511e356f0adc0a97df23"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a message.  <a href="#ae01d11a87fd5511e356f0adc0a97df23">More...</a><br/></td></tr>
<tr class="separator:ae01d11a87fd5511e356f0adc0a97df23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a689c0f8146908cb7bccc19bee19870af"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a689c0f8146908cb7bccc19bee19870af">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:a689c0f8146908cb7bccc19bee19870af"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format a message for a locale.  <a href="#a689c0f8146908cb7bccc19bee19870af">More...</a><br/></td></tr>
<tr class="separator:a689c0f8146908cb7bccc19bee19870af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d928c7b1d49eeb42e66caf774a4e112"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a2d928c7b1d49eeb42e66caf774a4e112">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:a2d928c7b1d49eeb42e66caf774a4e112"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format a message for a locale.  <a href="#a2d928c7b1d49eeb42e66caf774a4e112">More...</a><br/></td></tr>
<tr class="separator:a2d928c7b1d49eeb42e66caf774a4e112"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad88f13a12e31c0b7f55930f61be31979"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ad88f13a12e31c0b7f55930f61be31979">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:ad88f13a12e31c0b7f55930f61be31979"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a message.  <a href="#ad88f13a12e31c0b7f55930f61be31979">More...</a><br/></td></tr>
<tr class="separator:ad88f13a12e31c0b7f55930f61be31979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8560e57a59ffcdc0de91d6db3e26bae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#af8560e57a59ffcdc0de91d6db3e26bae">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:af8560e57a59ffcdc0de91d6db3e26bae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a message.  <a href="#af8560e57a59ffcdc0de91d6db3e26bae">More...</a><br/></td></tr>
<tr class="separator:af8560e57a59ffcdc0de91d6db3e26bae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14218f82563d8ed52c16b4b66e6c056b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a14218f82563d8ed52c16b4b66e6c056b">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:a14218f82563d8ed52c16b4b66e6c056b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a message formatter with given pattern and for the given locale.  <a href="#a14218f82563d8ed52c16b4b66e6c056b">More...</a><br/></td></tr>
<tr class="separator:a14218f82563d8ed52c16b4b66e6c056b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6aa7c93af125cbbe3f9d5c321fdc593c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a6aa7c93af125cbbe3f9d5c321fdc593c">umsg_close</a> (<a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *format)</td></tr>
<tr class="memdesc:a6aa7c93af125cbbe3f9d5c321fdc593c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close a UMessageFormat.  <a href="#a6aa7c93af125cbbe3f9d5c321fdc593c">More...</a><br/></td></tr>
<tr class="separator:a6aa7c93af125cbbe3f9d5c321fdc593c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89952c4d05455359365fb82c45144c3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a89952c4d05455359365fb82c45144c3f">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:a89952c4d05455359365fb82c45144c3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a copy of a UMessageFormat.  <a href="#a89952c4d05455359365fb82c45144c3f">More...</a><br/></td></tr>
<tr class="separator:a89952c4d05455359365fb82c45144c3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85de2ac6bf6e40afe1a143bcc3ad389e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a85de2ac6bf6e40afe1a143bcc3ad389e">umsg_setLocale</a> (<a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt, const char *locale)</td></tr>
<tr class="memdesc:a85de2ac6bf6e40afe1a143bcc3ad389e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the locale.  <a href="#a85de2ac6bf6e40afe1a143bcc3ad389e">More...</a><br/></td></tr>
<tr class="separator:a85de2ac6bf6e40afe1a143bcc3ad389e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0281d43c54deb52e531c92915edba997"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a0281d43c54deb52e531c92915edba997">umsg_getLocale</a> (const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *fmt)</td></tr>
<tr class="memdesc:a0281d43c54deb52e531c92915edba997"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the locale.  <a href="#a0281d43c54deb52e531c92915edba997">More...</a><br/></td></tr>
<tr class="separator:a0281d43c54deb52e531c92915edba997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3e6eb3b875750e179b86a646fb6626d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ac3e6eb3b875750e179b86a646fb6626d">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:ac3e6eb3b875750e179b86a646fb6626d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the pattern.  <a href="#ac3e6eb3b875750e179b86a646fb6626d">More...</a><br/></td></tr>
<tr class="separator:ac3e6eb3b875750e179b86a646fb6626d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7f1f88f2472c4e4e9c8c732e84ebd22"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#af7f1f88f2472c4e4e9c8c732e84ebd22">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:af7f1f88f2472c4e4e9c8c732e84ebd22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the pattern.  <a href="#af7f1f88f2472c4e4e9c8c732e84ebd22">More...</a><br/></td></tr>
<tr class="separator:af7f1f88f2472c4e4e9c8c732e84ebd22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90a4b5fe778754e5da52f7c2e5fd6048"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a90a4b5fe778754e5da52f7c2e5fd6048">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:a90a4b5fe778754e5da52f7c2e5fd6048"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format a message for a locale.  <a href="#a90a4b5fe778754e5da52f7c2e5fd6048">More...</a><br/></td></tr>
<tr class="separator:a90a4b5fe778754e5da52f7c2e5fd6048"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3376e423041aa5b4c8595d6105c7999"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#ad3376e423041aa5b4c8595d6105c7999">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:ad3376e423041aa5b4c8595d6105c7999"><td class="mdescLeft">&#160;</td><td class="mdescRight">Format a message for a locale.  <a href="#ad3376e423041aa5b4c8595d6105c7999">More...</a><br/></td></tr>
<tr class="separator:ad3376e423041aa5b4c8595d6105c7999"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a617f4fef1a5a85a8c1ffd5d21c3e777f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a617f4fef1a5a85a8c1ffd5d21c3e777f">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:a617f4fef1a5a85a8c1ffd5d21c3e777f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a message.  <a href="#a617f4fef1a5a85a8c1ffd5d21c3e777f">More...</a><br/></td></tr>
<tr class="separator:a617f4fef1a5a85a8c1ffd5d21c3e777f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58ed416cca890687dbe4477e57d1d403"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a58ed416cca890687dbe4477e57d1d403">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:a58ed416cca890687dbe4477e57d1d403"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse a message.  <a href="#a58ed416cca890687dbe4477e57d1d403">More...</a><br/></td></tr>
<tr class="separator:a58ed416cca890687dbe4477e57d1d403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9da796210146ff51d395affe4928f0b7"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="umsg_8h.html#a9da796210146ff51d395affe4928f0b7">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:a9da796210146ff51d395affe4928f0b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert an 'apostrophe-friendly' pattern into a standard pattern.  <a href="#a9da796210146ff51d395affe4928f0b7">More...</a><br/></td></tr>
<tr class="separator:a9da796210146ff51d395affe4928f0b7"><td class="memSeparator" colspan="2">&#160;</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 &#x2019; (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">&quot;disturbance in force&quot;</span>) +1));</div>
<div class="line"><a class="code" href="ustring_8h.html#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(str, <span class="stringliteral">&quot;disturbance in force&quot;</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#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(tzID, <span class="stringliteral">&quot;PST&quot;</span>);</div>
<div class="line">cal=<a class="code" href="ucal_8h.html#ac9d3d4893f5b22a90edff24bedaf361c">ucal_open</a>(tzID, <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5">u_strlen</a>(tzID), <span class="stringliteral">&quot;en_US&quot;</span>, <a class="code" href="ucal_8h.html#a80db55a10d0808a9f9b61e105b9d32fbaf40f59ee818a37ecfa599e89eb0c334d">UCAL_TRADITIONAL</a>, &amp;status);</div>
<div class="line"><a class="code" href="ucal_8h.html#a8810072e357d43f6d9d4a792ff0be93e">ucal_setDateTime</a>(cal, 1999, <a class="code" href="ucal_8h.html#af13a67d4d259962e1840471f3a8e6596af65658af9cb3b9b829ae218318d8c11b">UCAL_MARCH</a>, 18, 0, 0, 0, &amp;status);</div>
<div class="line">d1=<a class="code" href="ucal_8h.html#a533d4cbb14bcea658867cc19dbf117e7">ucal_getMillis</a>(cal, &amp;status);</div>
<div class="line"><a class="code" href="ustring_8h.html#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(pattern, <span class="stringliteral">&quot;On {0, date, long}, there was a {1} on planet {2,number,integer}&quot;</span>);</div>
<div class="line">resultlength=0;</div>
<div class="line">resultLengthOut=<a class="code" href="umsg_8h.html#a4c02e1b7cff1ab8d463878e9aa1f0255">u_formatMessage</a>( <span class="stringliteral">&quot;en_US&quot;</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5">u_strlen</a>(pattern), <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, resultlength, &amp;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#a4c02e1b7cff1ab8d463878e9aa1f0255">u_formatMessage</a>( <span class="stringliteral">&quot;en_US&quot;</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5">u_strlen</a>(pattern), result, resultlength, &amp;status, d1, str, 7);</div>
<div class="line">}</div>
<div class="line">printf(<span class="stringliteral">&quot;%s\n&quot;</span>, austrdup(result) );<span class="comment">//austrdup( a function used to convert UChar* to char*)</span></div>
<div class="line"><span class="comment">//output&gt;: &quot;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#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(str, <span class="stringliteral">&quot;MyDisk&quot;</span>);</div>
<div class="line"><a class="code" href="ustring_8h.html#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(pattern, <span class="stringliteral">&quot;The disk {1} contains {0,choice,0#no files|1#one file|1&lt;{0,number,integer} files}&quot;</span>);</div>
<div class="line"><span class="keywordflow">for</span>(i=0; i&lt;3; i++){</div>
<div class="line">  resultlength=0; </div>
<div class="line">  resultLengthOut=<a class="code" href="umsg_8h.html#a4c02e1b7cff1ab8d463878e9aa1f0255">u_formatMessage</a>( <span class="stringliteral">&quot;en_US&quot;</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5">u_strlen</a>(pattern), <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, resultlength, &amp;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#a4c02e1b7cff1ab8d463878e9aa1f0255">u_formatMessage</a>( <span class="stringliteral">&quot;en_US&quot;</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5">u_strlen</a>(pattern), result, resultlength, &amp;status, testArgs[i], str);</div>
<div class="line">  }</div>
<div class="line">  printf(<span class="stringliteral">&quot;%s\n&quot;</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 &quot;MyDisk&quot; contains 100 files.</span></div>
<div class="line"><span class="comment">// output: The disk &quot;MyDisk&quot; contains one file.</span></div>
<div class="line"><span class="comment">// output: The disk &quot;MyDisk&quot; 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#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(str, <span class="stringliteral">&quot;Kirti&quot;</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#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(str1, <span class="stringliteral">&quot;female&quot;</span>);</div>
<div class="line">log_verbose(<span class="stringliteral">&quot;Testing message format with Select test #1\n:&quot;</span>);</div>
<div class="line"><a class="code" href="ustring_8h.html#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(pattern, <span class="stringliteral">&quot;{0} est {1, select, female {all\\u00E9e} other {all\\u00E9}} \\u00E0 Paris.&quot;</span>);</div>
<div class="line"><a class="code" href="ustring_8h.html#a0f2d5d46acef8e0eac711bef15e7531f">u_uastrcpy</a>(expected, <span class="stringliteral">&quot;Kirti est all\\u00E9e \\u00E0 Paris.&quot;</span>);</div>
<div class="line">resultlength=0;</div>
<div class="line">resultLengthOut=<a class="code" href="umsg_8h.html#a4c02e1b7cff1ab8d463878e9aa1f0255">u_formatMessage</a>( <span class="stringliteral">&quot;fr&quot;</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5">u_strlen</a>(pattern), <a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>, resultlength, &amp;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#a4c02e1b7cff1ab8d463878e9aa1f0255">u_formatMessage</a>( <span class="stringliteral">&quot;fr&quot;</span>, pattern, <a class="code" href="group__ustring__ustrlen.html#gac4d8a5581fc5bde71d62ebd0a7a84ec5">u_strlen</a>(pattern), result, resultlength, &amp;status, str , str1);</div>
<div class="line">     <span class="keywordflow">if</span>(<a class="code" href="ustring_8h.html#abdb8af67ab5198b9db020afa9c3114b3">u_strcmp</a>(result, expected)==0)</div>
<div class="line">         log_verbose(<span class="stringliteral">&quot;PASS: MessagFormat successful on Select test#1\n&quot;</span>);</div>
<div class="line">     <span class="keywordflow">else</span>{</div>
<div class="line">         log_err(<span class="stringliteral">&quot;FAIL: Error in MessageFormat on Select test#1\n GOT %s EXPECTED %s\n&quot;</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>Definition in file <a class="el" href="umsg_8h_source.html">umsg.h</a>.</p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ab9e7346a57f2faed6df44a2e620e7553"></a>
<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#_stable004880">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="umsg_8h_source.html#l00382">382</a> of file <a class="el" href="umsg_8h_source.html">umsg.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a4c02e1b7cff1ab8d463878e9aa1f0255"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t u_formatMessage </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</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>
</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#a954261c179cdbe9f7d84c272451d7fa7" title="Parse a message. ">u_parseMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004872">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a689c0f8146908cb7bccc19bee19870af"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t u_formatMessageWithError </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</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>
</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#a954261c179cdbe9f7d84c272451d7fa7" title="Parse a message. ">u_parseMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004876">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a954261c179cdbe9f7d84c272451d7fa7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void u_parseMessage </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</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>
</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#a4c02e1b7cff1ab8d463878e9aa1f0255">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#a4c02e1b7cff1ab8d463878e9aa1f0255" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004874">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ad88f13a12e31c0b7f55930f61be31979"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void u_parseMessageWithError </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</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>
</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#a4c02e1b7cff1ab8d463878e9aa1f0255">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#a4c02e1b7cff1ab8d463878e9aa1f0255" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004878">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a19d9729739a5e7064219a5102a2ec290"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t u_vformatMessage </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>resultLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#a954261c179cdbe9f7d84c272451d7fa7" title="Parse a message. ">u_parseMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004873">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a2d928c7b1d49eeb42e66caf774a4e112"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t u_vformatMessageWithError </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>parseError</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#_stable004877">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae01d11a87fd5511e356f0adc0a97df23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void u_vparseMessage </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>sourceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#a4c02e1b7cff1ab8d463878e9aa1f0255">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#a4c02e1b7cff1ab8d463878e9aa1f0255" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004875">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="af8560e57a59ffcdc0de91d6db3e26bae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void u_vparseMessageWithError </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>sourceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</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> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#a4c02e1b7cff1ab8d463878e9aa1f0255">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#a4c02e1b7cff1ab8d463878e9aa1f0255" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004879">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ac3e6eb3b875750e179b86a646fb6626d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void umsg_applyPattern </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#_stable004886">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a9da796210146ff51d395affe4928f0b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t umsg_autoQuoteApostrophe </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>ec</em>&#160;</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#_stable004892">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a89952c4d05455359365fb82c45144c3f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><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> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#_stable004883">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a6aa7c93af125cbbe3f9d5c321fdc593c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void umsg_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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#_stable004882">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a90a4b5fe778754e5da52f7c2e5fd6048"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t umsg_format </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</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>
</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#_stable004888">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a0281d43c54deb52e531c92915edba997"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* umsg_getLocale </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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#_stable004885">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a14218f82563d8ed52c16b4b66e6c056b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><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> *&#160;</td>
          <td class="paramname"><em>pattern</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>patternLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</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> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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 occured 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#_stable004881">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a617f4fef1a5a85a8c1ffd5d21c3e777f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void umsg_parse </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>sourceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t *&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</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>
</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#a90a4b5fe778754e5da52f7c2e5fd6048">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#_stable004890">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a85de2ac6bf6e40afe1a143bcc3ad389e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void umsg_setLocale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</td>
          <td class="paramname"><em>fmt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>locale</em>&#160;</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#_stable004884">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="af7f1f88f2472c4e4e9c8c732e84ebd22"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t umsg_toPattern </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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. </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#_stable004887">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ad3376e423041aa5b4c8595d6105c7999"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t umsg_vformat </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>result</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>resultLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#_stable004889">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a58ed416cca890687dbe4477e57d1d403"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void umsg_vparse </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umsg_8h.html#ab9e7346a57f2faed6df44a2e620e7553">UMessageFormat</a> *&#160;</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> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>sourceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">va_list&#160;</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> *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</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#a90a4b5fe778754e5da52f7c2e5fd6048">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#a4c02e1b7cff1ab8d463878e9aa1f0255" title="Format a message for a locale. ">u_formatMessage</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004891">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 &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>