<html><head><metahttp-equiv="X-UA-Compatible"content="IE=edge"/><linkrel="shortcut icon"href="../icons/favicon.ico"/><linkrel="stylesheet"type="text/css"href="../styles/branding.css"/><linkrel="stylesheet"type="text/css"href="../styles/branding-en-US.css"/><scripttype="text/javascript"src="../scripts/branding.js"></script><metahttp-equiv="Content-Type"content="text/html; charset=UTF-8"/><title>gmp_lib.mpq_inp_str Method </title><metaname="Language"content="en-us"/><metaname="System.Keywords"content="mpq_inp_str method"/><metaname="System.Keywords"content="gmp_lib.mpq_inp_str method"/><metaname="Microsoft.Help.F1"content="Math.Gmp.Native.gmp_lib.mpq_inp_str"/><metaname="Microsoft.Help.Id"content="M:Math.Gmp.Native.gmp_lib.mpq_inp_str(Math.Gmp.Native.mpq_t,Math.Gmp.Native.ptr{Math.Gmp.Native.FILE},System.Int32)"/><metaname="Description"content="Read a string of digits from and convert them to a rational in ."/><metaname="Microsoft.Help.ContentType"content="Reference"/><metaname="BrandingAware"content="true"/><metaname="container"content="Math.Gmp.Native"/><metaname="file"content="38d3a9de-bae7-3f44-18e0-38fe450d4cba"/><metaname="guid"content="38d3a9de-bae7-3f44-18e0-38fe450d4cba"/><linktype="text/css"rel="stylesheet"href="../styles/highlight.css"/><scripttype="text/javascript"src="../scripts/highlight.js"></script><linkrel="stylesheet"type="text/css"href="../styles/branding-Website.css"/><scripttype="text/javascript"src="../scripts/jquery-1.11.0.min.js"></script><scripttype="text/javascript"src="../scripts/branding-Website.js"></script><scripttype="text/javascript"src="../scripts/clipboard.min.js"></script></head><bodyonload="OnLoad('cs')"><inputtype="hidden"id="userDataCache"class="userDataStyle"/><divclass="pageHeader"id="PageHeader">GMP Native Interface for .NET<formid="SearchForm"method="get"action="#"onsubmit="javascript:TransferToSearchPage(); return false;"><inputid="SearchTextBox"type="text"maxlength="200"/><buttonid="SearchButton"type="submit"></button></form></div><divclass="pageBody"><divclass="leftNav"id="leftNav"><divid="tocNav"><divclass="toclevel0"data-toclevel="0"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="846f5c8a-6cba-433e-9f18-cde2ff5695cd.htm"title="GMP Native Interface for .NET"tocid="roottoc">GMP Native Interface for .NET</a></div><divclass="toclevel0"data-toclevel="0"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm"title="Math.Gmp.Native"tocid="d9c51b9f-0c54-770b-28ea-6eebd8fef368">Math.Gmp.Native</a></div><divclass="toclevel0"data-toclevel="0"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"title="gmp_lib Class"tocid="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f">gmp_lib Class</a></div><divclass="toclevel1"data-toclevel="1"data-childrenloaded="true"><aclass="tocExpanded"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="0fa7cbf3-e8f4-6b14-d829-8aa663e77c74.htm"title="gmp_lib Methods"tocid="0fa7cbf3-e8f4-6b14-d829-8aa663e77c74">gmp_lib Methods</a></div><divclass="toclevel2"data-toclevel="2"><adata-tochassubtree="false"href="c9cb6a67-59b8-5c03-f31d-f252441c53f6.htm"title="_mpz_realloc Method "tocid="c9cb6a67-59b8-5c03-f31d-f252441c53f6">_mpz_realloc Method </a></div><divclass="toclevel2"data-toclevel="2"><adata-tochassubtree="false"href="2c68671c-cd5c-e2ec-52a2-65b0ca31c3d1.htm"title="allocate Method "tocid="2c68671c-cd5c-e2ec-52a2-65b0ca31c3d1">allocate Method </a></div><divclass="toclevel2"data-toclevel="2"><aclass="tocCollapsed"onclick="javascript: Toggle(this);"href="#!"/><adata-tochassubtree="true"href="92160da3-b1af-e005-cb05-e3fb4dd524d8.htm"title="free Method "tocid="92160da3-b1af-e005-cb05-e3fb4dd524d8">free Method </a></div><divclass="toclevel2"data-toclevel="2"><adata-toc
</pre></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDCA");</script><h4class="subHeading">Parameters</h4><dl><dt><spanclass="parameter">rop</span></dt><dd>Type:<ahref="635f1879-5f85-881e-cca8-3222baf5045a.htm">Math.Gmp.Native<spanid="LST2F7EC01D_1"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_1?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_t</a><br/>The result rational.</dd><dt><spanclass="parameter">stream</span></dt><dd>Type:<ahref="542faa00-d28a-72a2-2dd8-6c6021e683ce.htm">Math.Gmp.Native<spanid="LST2F7EC01D_2"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_2?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>ptr</a><spanid="LST2F7EC01D_3"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_3?cs=<|vb=(Of |cpp=<|fs=<'|nu=(");</script><ahref="1bcc07bd-8fee-1107-844c-a5ff10e7660c.htm">FILE</a><spanid="LST2F7EC01D_4"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_4?cs=>|vb=)|cpp=>|fs=>|nu=)");</script><br/>Pointer to file stream.</dd><dt><spanclass="parameter">base</span></dt><dd>Type:<ahref="http://msdn2.microsoft.com/en-us/library/td2s409d"target="_blank">System<spanid="LST2F7EC01D_5"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_5?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>Int32</a><br/>The base.</dd></dl><h4class="subHeading">Return Value</h4>Type:<ahref="d9761bfb-1882-59d2-e89b-c6460141f9a6.htm">size_t</a><br/>Return the number of characters read (including white space), or <spanclass="code">0</span> if a rational could not be read.</div><divclass="collapsibleAreaRegion"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID2RB')"onkeypress="SectionExpandCollapse_CheckKey('ID2RB', event)"tabindex="0"><imgid="ID2RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>Remarks</span></div><divid="ID2RBSection"class="collapsibleSection"><p>
Any initial white-space characters are read and discarded.
</p><p>
The input can be a fraction like "17/63" or just an integer like "123".
Reading stops at the first character not in this form, and white space is not permitted within the string.
If the input might not be in canonical form, then <ahref="19d53697-65f1-2df5-62f3-988182af0c88.htm">mpq_canonicalize(mpq_t)</a> must be called
(see <ahref="https://gmplib.org/manual/Rational-Number-Functions.html#Rational-Number-Functions">GNU MP - Rational Number Functions</a>).
</p><p>
The base can be between <spanclass="code">2</span> and <spanclass="code">36</span>, or can be <spanclass="code">0</span> in which case the leading characters
of the string determine the base, <spanclass="code">"0x"</span> or <spanclass="code">"0X"</span> for hexadecimal, <spanclass="code">"0"</span> for octal, or decimal otherwise.
The leading characters are examined separately for the numerator and denominator of a fraction, so for instance
<spanclass="code">"0x10/11"</span> is <spanclass="code">16/11</span>, whereas <spanclass="code">"0x10/0x11"</span> is <spanclass="code">16/17</span>.
</p></div><divclass="collapsibleAreaRegion"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID3RB')"onkeypress="SectionExpandCollapse_CheckKey('ID3RB', event)"tabindex="0"><imgid="ID3RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>Examples</span></div><divid="ID3RBSection"class="collapsibleSection"><divclass="codeSnippetContainer"><divclass="codeSnippetContainerTabs"><divid="ID0EDAABA_tab1"class="codeSnippetContainerTab"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','cs','1','4');return false;">C#</a></div><divid="ID0EDAABA_tab2"class="codeSnippetContainerTab"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','vb','2','4');return false;">VB</a></div><divid="ID0EDAABA_tab3"class="codeSnippetContainerTabPhantom"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','cpp','3','4');return false;">C++</a></div><divid="ID0EDAABA_tab4"class="codeSnippetContainerTabPhantom"><ahref="#"onclick="javascript:ChangeTab('ID0EDAABA','fs','4','4');return false;">F#</a></div></div><divclass="codeSnippetContainerCodeContainer"><divclass="codeSnippetToolBar"><divclass="codeSnippetToolBarText"><aid="ID0EDAABA_copyCode"href="#"class="copyCodeSnippet"onclick="javascript:CopyToClipboard('ID0EDAABA');return false;"title="Copy">Copy</a></div></div><divid="ID0EDAABA_code_Div1"class="codeSnippetContainerCode"style="display: block"><prexml:space="preserve"><spanclass="highlight-comment">// Create, initialize, and set the value of op to 123/456.</span>
mpq_t op = <spanclass="highlight-keyword">new</span> mpq_t();
gmp_lib.mpq_init(op);
<spanclass="highlight-comment">// Write rational to a temporary file.</span>
<spanclass="highlight-comment">// Release unmanaged memory allocated for op.</span>
gmp_lib.mpq_clear(op);</pre></div><divid="ID0EDAABA_code_Div2"class="codeSnippetContainerCode"style="display: none"><prexml:space="preserve"><spanclass="highlight-comment">' Create, initialize, and set the value of op to 123/456.</span>
<spanclass="highlight-keyword">Dim</span> op <spanclass="highlight-keyword">As</span><spanclass="highlight-keyword">New</span> mpq_t()
gmp_lib.mpq_init(op)
<spanclass="highlight-comment">' Write rational to a temporary file.</span>
<spanclass="highlight-comment">' Release unmanaged memory allocated for op.</span>
gmp_lib.mpq_clear(op)</pre></div><divid="ID0EDAABA_code_Div3"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div><divid="ID0EDAABA_code_Div4"class="codeSnippetContainerCode"style="display: none"><p>No code example is currently available or this language may not be supported.</p></div></div></div><scripttype="text/javascript">AddLanguageTabSet("ID0EDAABA");</script></div><divclass="collapsibleAreaRegion"id="seeAlsoSection"><spanclass="collapsibleRegionTitle"onclick="SectionExpandCollapse('ID4RB')"onkeypress="SectionExpandCollapse_CheckKey('ID4RB', event)"tabindex="0"><imgid="ID4RBToggle"class="collapseToggle"src="../icons/SectionExpanded.png"/>See Also</span></div><divid="ID4RBSection"class="collapsibleSection"><h4class="subHeading">Reference</h4><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm">gmp_lib Class</a></div><divclass="seeAlsoStyle"><ahref="d9c51b9f-0c54-770b-28ea-6eebd8fef368.htm">Math.Gmp.Native Namespace</a></div><divclass="seeAlsoStyle"><ahref="e1c059c4-4cd9-9a2b-1178-4b1a60354129.htm">gmp_lib<spanid="LST2F7EC01D_6"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_6?cs=.|vb=.|cpp=::|nu=.|fs=.");</script>mpq_out_str(ptr<spanid="LST2F7EC01D_7"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_7?cs=<|vb=(Of |cpp=<|fs=<'|nu=(");</script>FILE<spanid="LST2F7EC01D_8"></span><scripttype="text/javascript">AddLanguageSpecificTextSet("LST2F7EC01D_8?cs=>|vb=)|cpp=>|fs=>|nu=)");</script>, Int32, mpq_t)</a></div><divclass="seeAlsoStyle"><ahref="3af6b34c-3242-2b75-e7c7-ab79af8a4b0f.htm"><ahref="https://gmplib.org/manual/I_002fO-of-Rationals.html#I_002fO-of-Rationals">GNU MP - I/O of Rationals</a></a></div></div></div></div><divid="pageFooter"class="pageFooter"></div></body></html>