<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: inilib: большое число как строку</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7524.html</link>
    <description>как при помощи inilib прочитать из конфига большое число как строку ?&lt;br&gt;&lt;br&gt;а то вот при таком конфиге:&lt;br&gt;&#091;SECTION&#093;&lt;br&gt;FIELD  = 589993772150&lt;br&gt;&lt;br&gt;&lt;br&gt;такой код:&lt;br&gt;std::string sField = (std::string)cfgFile&#091;&quot;SECTION&quot;&#093;&#091;&quot;FIELD&quot;&#093;;&lt;br&gt;std::cout &amp;lt;&amp;lt; &quot;sField is &quot; &amp;lt;&amp;lt; sField &amp;lt;&amp;lt; &quot;&#092;n&quot;;&lt;br&gt;&lt;br&gt;&lt;br&gt;Выдает результат:&lt;br&gt;sField is 2147483647&lt;br&gt;&lt;br&gt;т.е. как сказать inilib что б она не пыталась сделать atoi к этому полю ?&lt;br&gt;&lt;br&gt;</description>

<item>
    <title>inilib: большое число как строку (Vladyslav Lazarenko)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7524.html#3</link>
    <pubDate>Wed, 06 Aug 2008 14:47:28 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Из альтернатив можно посмотреть на: &lt;br&gt;&amp;gt;&amp;gt;&lt;br&gt;&amp;gt;&amp;gt;Boost Program Options (http://www.boost.org/doc/libs/1_35_0/doc/html/program_options.html) &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;А нету простенького-простенького примерчика использования? &lt;br&gt;&amp;gt;ну что б как за основу взять &lt;br&gt;&lt;br&gt;Привет. Официальная документация вот здесь - http://www.boost.org/doc/libs/1_35_0/doc/html/program_options.html&lt;br&gt;&lt;br&gt;Там есть кое-какие примеры. Других у меня нет. Можно поспрашивать Владимира, автора этой библиотеки, в рассылке Boost User List. Я же использую её только для разбора параметров командной строки.&lt;br&gt;&lt;br&gt;Удачи!&lt;br&gt;&lt;br&gt;- Влад&lt;br&gt;</description>
</item>

<item>
    <title>inilib: большое число как строку (cnupm)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7524.html#2</link>
    <pubDate>Wed, 06 Aug 2008 11:58:19 GMT</pubDate>
    <description>&amp;gt;Из альтернатив можно посмотреть на: &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Boost Program Options (http://www.boost.org/doc/libs/1_35_0/doc/html/program_options.html) &lt;br&gt;&lt;br&gt;А нету простенького-простенького примерчика использования?&lt;br&gt;ну что б как за основу взять&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>inilib: большое число как строку (Vladyslav Lazarenko)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID9/7524.html#1</link>
    <pubDate>Wed, 06 Aug 2008 01:18:42 GMT</pubDate>
    <description>Привет. Стало самому интересно, почему так. В функции &quot;void registry::section_read(fstream &amp;input_file, section&amp; curr_section)&quot; нашел следующее:&lt;br&gt;&lt;br&gt;&lt;br&gt;      if (is_int(value_string))&lt;br&gt;        curr_section.insert(key_string, atoi(value_string.c_str()));&lt;br&gt;      else if (is_double(value_string))&lt;br&gt;        curr_section.insert(key_string, atof(value_string.c_str()));&lt;br&gt;      else&lt;br&gt;        curr_section.insert(key_string, value_string);&lt;br&gt;&lt;br&gt;Где &quot;is_int()&quot; выглядит так:&lt;br&gt;&lt;br&gt;&lt;br&gt; inline bool is_int(std::string value)&lt;br&gt; &#123;&lt;br&gt;   crop(value);&lt;br&gt;   if (value.size() == 0)&lt;br&gt;     return false;&lt;br&gt;&lt;br&gt;   if (value.find_first_not_of(&quot;1234567890&quot;) &amp;lt; value.size())&lt;br&gt;     return false;&lt;br&gt;&lt;br&gt;   return true;&lt;br&gt; &#125;&lt;br&gt;&lt;br&gt;Тоесть, в Вашем случае - никак. Только конвертировать обратно в строку.&lt;br&gt;&lt;br&gt;В целом же библиотека выглядит не солидно (та же проверка is_double() не учитывает &quot;F&quot; и т.п., не говоря уж о реализации). Можете исправить сами. Из альтернатив можно посмотреть на:&lt;br&gt;&lt;br&gt;Boost Program Options (http://www.boost.org/doc/libs/1_35_0/doc/html/program_op</description>
</item>

</channel>
</rss>
