<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891083</guid>
        <pubDate>Fri, 26 May 2023 19:40:46 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891083</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891082'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T18:49:34+00:00">26.05.23, 18:49</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891081'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T16:17:26+00:00">26.05.23, 16:17</time></span><div class='quote '>Мне нужно, чтобы кавычка внутри не воспринималась как кавычка. </div></div><br>
Тогда очевидно тебе нужно экранирование, а не закавычивание.</div></div><br>
Очевидно, что закавычивание, которое не умеет экранировать кавычки внутри, бесполезно. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T22:43:33+03:00">26.05.23, 19:43</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891082'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T18:49:34+00:00">26.05.23, 18:49</time></span><div class='quote '>Типа ты споришь ради спора? Если тебе надо экранирование - то экранируй строку. Причем тут закавычивание? Не, не хочу я с тобой троллем вести диалог, ты несешь чушь какую то. Я тебе про васю, ты мне в ответе про петю. Все, иди с кем то другим общайся.</div></div><br>
Ты создаешь кликбейтную тему, ругаешься на <em class='tag-i'>стандартную</em> библиотеку, не можешь толком объяснить, зачем ты потом сам ставишь ещё один кавычки, сам признаешься, что тему создал ради &quot;побубнеть&quot;, а тролль я  :D]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891082</guid>
        <pubDate>Fri, 26 May 2023 18:49:34 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891082</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891081'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T16:17:26+00:00">26.05.23, 16:17</time></span><div class='quote '>Мне нужно, чтобы кавычка внутри не воспринималась как кавычка. </div></div><br>
Тогда очевидно тебе нужно экранирование, а не закавычивание.<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891081'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T16:17:26+00:00">26.05.23, 16:17</time></span><div class='quote '>Нет. Не достаточно.<br>
Потому что &quot;aaa&quot;bbb&quot;aa&quot; закавычена некорректно, т.к. кавычки внутри остались и интерпретируются как кавычки. </div></div><br>
Типа ты споришь ради спора? Если тебе надо экранирование - то экранируй строку. Причем тут закавычивание? Не, не хочу я с тобой троллем вести диалог, ты несешь чушь какую то. Я тебе про васю, ты мне в ответе про петю. Все, иди с кем то другим общайся.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891081</guid>
        <pubDate>Fri, 26 May 2023 16:17:26 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891081</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891077'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T12:19:05+00:00">26.05.23, 12:19</time></span><div class='quote '>Кто-нибудь может-таки поведать великую тайну: чего надо-то?</div></div><br>
Чтобы либа подстроилась под то, что у кого-то уже написаны кавычки для обрамления и просто делала только экранирование без добавление &quot; в начале и конце строки. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T16:18:26+00:00">26.05.23, 16:18</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891079'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T12:39:40+00:00">26.05.23, 12:39</time></span><div class='quote '>Экранирование нужно тогда, когда тебе важно чтоб вот эта кавычка не воспринималась как спецсимвол.</div></div><br>
Мне нужно, чтобы кавычка внутри не воспринималась как кавычка. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T16:20:19+00:00">26.05.23, 16:20</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891079'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T12:39:40+00:00">26.05.23, 12:39</time></span><div class='quote '>Так вот, для того, чтоб что то взять в кавычки - экранировать ничего не нужно. Достаточно окавычить исходную строку</div></div><br>
Нет. Не достаточно.<br>
Потому что &quot;aaa&quot;bbb&quot;aa&quot; закавычена некорректно, т.к. кавычки внутри остались и интерпретируются как кавычки. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T16:21:25+00:00">26.05.23, 16:21</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891079'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T12:39:40+00:00">26.05.23, 12:39</time></span><div class='quote '>Поэтому quoted() и какой нибудь условный escape() - это две разные вещи. Одно просто берет и все спецсимволы в строке - экранирует. А другое просто берет и оборачивает строку кавычками.</div></div><br>
Условный escape() может быть полезен, да. Но описанный тобой quoted() является бесполезным. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T16:23:40+00:00">26.05.23, 16:23</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891079'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T12:39:40+00:00">26.05.23, 12:39</time></span><div class='quote '>А другое просто берет и оборачивает строку кавычками.</div></div><br>
Зачем? Если он не будет экранировать кавычки внутри, то как ты предлагаешь его использовать? Только в связке с escape() и будет иметь смысл это делать. Так и сделано в std.<br>
То, что не помешал бы некий отдельный escape(), который бы не добавлял кавычки - согласен, можно было б. Но quoted вполне справляется с задачей.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891080</guid>
        <pubDate>Fri, 26 May 2023 16:09:01 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891080</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891077'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T12:19:05+00:00">26.05.23, 12:19</time></span><div class='quote '>Кто-нибудь может-таки поведать великую тайну: чего надо-то?</div></div><br>
Просто Киле нужен был кавычкенг, а он использовал квотинг. Ну или наоборот  :lool: И оно не так заработало  :lool:]]></description>
        <author>Majestio</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891079</guid>
        <pubDate>Fri, 26 May 2023 12:39:40 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891079</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891075'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T11:40:14+00:00">26.05.23, 11:40</time></span><div class='quote '>Соответственно, прежде чем просто поставить символ &quot; в начало и в конец строки, нужно экранировать кавычки внутри.</div></div><br>
Для чего их нужно экранировать? Ты опять все в кучу сыпешь. Экранирование нужно тогда, когда тебе важно чтоб вот эта кавычка не воспринималась как спецсимвол. А чтоб она не воспринималась, как спецсимвол, а как обычный текст - ее собственно и нужно экранировать. Так вот, для того, чтоб что то взять в кавычки - экранировать ничего не нужно. Достаточно окавычить исходную строку. Поэтому quoted() и какой нибудь условный escape() - это две разные вещи. Одно просто берет и все спецсимволы в строке - экранирует. А другое просто берет и оборачивает строку кавычками. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T12:39:58+00:00">26.05.23, 12:39</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891077'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T12:19:05+00:00">26.05.23, 12:19</time></span><div class='quote '>Кто-нибудь может-таки поведать великую тайну: чего надо-то?</div></div><br>
Да уже ничего не надо.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891078</guid>
        <pubDate>Fri, 26 May 2023 12:22:44 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891078</link>
        <description><![CDATA[kopilov: <strong class='tag-b'>Qraizer</strong>, по всей видимости, надо<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891070'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T07:06:48+00:00">26.05.23, 07:06</time></span><div class='quote '>чисто было побубнеть. </div></div>]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891077</guid>
        <pubDate>Fri, 26 May 2023 12:19:05 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891077</link>
        <description><![CDATA[Qraizer: Кто-нибудь может-таки поведать великую тайну: чего надо-то?]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891075</guid>
        <pubDate>Fri, 26 May 2023 11:40:14 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891075</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891074'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T09:31:55+00:00">26.05.23, 09:31</time></span><div class='quote '>Она то как раз будет корректной, ты просто получишь закавыченный контент.</div></div><br>
Так не получишь. Ты легко можешь получить &quot;&quot;str&quot;ing&quot;&quot;, т.е. сначала пустая закавыченная строка, потом str без кавычек, потом закавыченный &quot;ing&quot; и потом одиначная кавычка.<br>
Соответственно, прежде чем просто поставить символ &quot; в начало и в конец строки, нужно экранировать кавычки внутри. И quoted позволяет это сделать и поддерживает минимальную кастомизацию для указания правил экранирования.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891074</guid>
        <pubDate>Fri, 26 May 2023 09:31:55 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891074</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891073'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T08:35:23+00:00">26.05.23, 08:35</time></span><div class='quote '>Потому что в противном случае получится некорректная строка внутри.</div></div><br>
С чего вдруг внутри получится некорректная строка, если тебе просто нужно обернуть то что у тебя есть в кавычки? Она то как раз будет корректной, ты просто получишь закавыченный контент. Для кого оно станет некорректной то? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T09:38:04+00:00">26.05.23, 09:38</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891073'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T08:35:23+00:00">26.05.23, 08:35</time></span><div class='quote '>Для того, чтобы корректно взять в кавычки, необходимо экранировать кавычки внутри строки.</div></div><br>
Да нет конечно. <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;format&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">using namespace std;</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string str = &quot;\&quot;str\&quot;ing\&quot;&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; std::format(&quot;\&quot;{}\&quot;&quot;, str);</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;return 0;</div><div class="code_line">}</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
Вот что тут в выводе некорректного по твоему?<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&quot;&quot;str&quot;ing&quot;&quot;</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-26T10:13:58+00:00">26.05.23, 10:13</time></span></span><br>
Ладно, что то я подустал переливать из пустого в порожнее. Тем более щас тут дел много. Некогда мне спорить уже.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891073</guid>
        <pubDate>Fri, 26 May 2023 08:35:23 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891073</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891070'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T07:06:48+00:00">26.05.23, 07:06</time></span><div class='quote '><div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891062'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T14:55:43+00:00">25.05.23, 14:55</time></span><div class='quote '>И еще интересно, как ты думаешь, что означает quoted на английском?</div></div><br>
Так я ж не против. Пусть оно берет в кавычки - нафига она тогда экранирует.</div></div><br>
Потому что в противном случае получится некорректная строка внутри. Для того, чтобы корректно взять в кавычки, необходимо экранировать кавычки внутри строки.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891072</guid>
        <pubDate>Fri, 26 May 2023 07:19:30 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891072</link>
        <description><![CDATA[kopilov: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891070'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T07:06:48+00:00">26.05.23, 07:06</time></span><div class='quote '>Это так, чисто было побубнеть.<br>
</div></div><br>
Спасибо, хорошо <s class='tag-s'>посидели</s> побубнели :D]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891070</guid>
        <pubDate>Fri, 26 May 2023 07:06:48 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891070</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891062'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T14:55:43+00:00">25.05.23, 14:55</time></span><div class='quote '>И еще интересно, как ты думаешь, что означает quoted на английском?</div></div><br>
Так я ж не против. Пусть оно берет в кавычки - нафига она тогда экранирует. Мне изначально надо было просто заэкранировать строку. Все, без всяких кавычек.<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891069'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-26T06:52:30+00:00">26.05.23, 06:52</time></span><div class='quote '>Wound, если изначальная проблема не решена — предлагаю создать новую тему, где будет чётче описан кейс и желаемое поведение</div></div><br>
Свою проблему я решил еще до создания темы. Это так, чисто было побубнеть.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891069</guid>
        <pubDate>Fri, 26 May 2023 06:52:30 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891069</link>
        <description><![CDATA[kopilov: Что делает std::quoted, есть ли там бага (или только фича) и как это можно применить — вроде, все поняли  :) <br>
<br>
<strong class='tag-b'>Wound</strong>, если изначальная проблема не решена — предлагаю создать новую тему, где будет чётче описан кейс и желаемое поведение]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891062</guid>
        <pubDate>Thu, 25 May 2023 14:55:43 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891062</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891055'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T12:10:12+00:00">25.05.23, 12:10</time></span><div class='quote '>Так в том и дело что граничные кавычки не экранируются, а просто вставляются, безусловно. О чем и речь.</div></div><br>
Ну так они правильно вставляются. Просто не вставляй еще одни. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T14:56:30+00:00">25.05.23, 14:56</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891055'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T12:10:12+00:00">25.05.23, 12:10</time></span><div class='quote '>Это не я. Оно так было.</div></div><br>
Ну так убери оттуда кавычки при использовании quoted и будет то, что надо :-? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T14:57:27+00:00">25.05.23, 14:57</time></span></span><br>
И еще интересно, как ты думаешь, что означает quoted на английском?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891056</guid>
        <pubDate>Thu, 25 May 2023 13:25:08 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891056</link>
        <description><![CDATA[Majestio: Читал-читал, так и не понял. <strong class='tag-b'>Wound</strong> нашел багу или фичу? :)]]></description>
        <author>Majestio</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891055</guid>
        <pubDate>Thu, 25 May 2023 12:10:12 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891055</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891053'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T10:02:11+00:00">25.05.23, 10:02</time></span><div class='quote '><br>
Wound, так зачем ты кавычки сам добавляешь при формировании json? std::quoted их уже добавила.</div></div><br>
Это не я. Оно так было. И было там без экранирования, это же пример. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T12:25:53+00:00">25.05.23, 12:25</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891050'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T09:08:34+00:00">25.05.23, 09:08</time></span><div class='quote '>Именно. И граничные кавычки тоже доверить системному экранированию, а не самостоятельно вставлять.</div></div><br>
Так в том и дело что граничные кавычки не экранируются, а просто вставляются, безусловно. О чем и речь.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891053</guid>
        <pubDate>Thu, 25 May 2023 10:02:11 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891053</link>
        <description><![CDATA[D_KEY: <strong class='tag-b'>Wound</strong>, так зачем ты кавычки сам добавляешь при формировании json? std::quoted их уже добавила. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T10:05:31+00:00">25.05.23, 10:05</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891049'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T08:50:47+00:00">25.05.23, 08:50</time></span><div class='quote '>В том и дело, что в JSON, они либо все экранируются слешами, либо только строки в кавычках. А тут что внутри - экранирует, при этом по краям добавляет кавычки, не экранированные. Т.е. получаешь строку <br>
<strong class='tag-b'>&quot;P@&#036;&#036;w0rd&#092;&quot;&#33;&#33;1&quot;</strong> с неэкранированными кавычками.</div></div><br>
Так и в json нужны кавычки обрамляющие у строкового значения.<br>
Как ты формируешь json? Если через какую-то библиотеку, то она сама должна экранировать все, если сам, то просто не добавляй свои кавычки, делай через std::quoted.]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891050</guid>
        <pubDate>Thu, 25 May 2023 09:08:34 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891050</link>
        <description><![CDATA[kopilov: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891049'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T08:50:47+00:00">25.05.23, 08:50</time></span><div class='quote '>Поле Password и User только экранировать надо</div></div><br>
Именно. И граничные кавычки тоже доверить системному экранированию, а не самостоятельно вставлять.<br>
Причём для названий атрибутов это тоже работает.<br>
Попробуй выполнить следующий код:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;iomanip&#62;</div><div class="code_line">int main() {</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string user = &quot;Admin&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string password = &quot;P@$$w0rd\&quot;!!1&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::stringstream jsonRequest;</div><div class="code_line">&nbsp;&nbsp; &nbsp;jsonRequest &#60;&#60; &quot;{&quot; &#60;&#60; std::quoted(&quot;Username&quot;) &#60;&#60; &quot;:&quot; &#60;&#60; std::quoted(user) &#60;&#60; &quot;,&quot; &#60;&#60; std::quoted(&quot;Password&quot;) &#60;&#60; &quot;:&quot; &#60;&#60; std::quoted(password) &#60;&#60; &quot;}&quot;;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; jsonRequest.str() &#60;&#60; std::endl;</div><div class="code_line">}</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T09:14:59+00:00">25.05.23, 09:14</time></span></span><br>
Как ты сам сказал, «или либа, или кирпичи». Если доверяешь либе экранирование — доверяй до конца]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891049</guid>
        <pubDate>Thu, 25 May 2023 08:50:47 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891049</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891048'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T08:15:50+00:00">25.05.23, 08:15</time></span><div class='quote '>Можешь чуть подробнее рассказать? Зачем избавляться от кавычек, если в json строковые объекты тоже в кавычках задаются?</div></div><br>
Попробуй выполнить следующий код:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">int main()</div><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string user = &quot;Admin&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string password = &quot;P@$$w0rd\&quot;!!1&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::string jsonRequest = &quot;{\&quot;Username\&quot;:\&quot;&quot; + user + &quot;\&quot;,\&quot;Password\&quot;:\&quot;&quot; + password + &quot;\&quot;}&quot;;</div><div class="code_line">&nbsp;&nbsp; &nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; jsonRequest &#60;&#60; std::endl;</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Получишь строку со следующим содержимым<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">{&quot;Username&quot;:&quot;Admin&quot;,&quot;Password&quot;:&quot;P@$$w0rd&quot;!!1&quot;}</div></ol></div></div></div></div><br>
<br>
Потом, ну если уж совсем наглядно, скопируй выходную эту строку, и подставь ее аргументом в POST запрос например CURL тулзы. Скорее всего ты получишь ошибку, что то типа:<br>
<div class='tag-quote'><span class='tag-quote-prefix'>Цитата</span> <div class='quote '><br>
HTTP/1.1 400 Bad Request<br>
...<br>
<br>
<br>
{&quot;errors&quot;:{&quot;Password&quot;:[&quot;After parsing a value an unexpected character was encountered: 7. Path &#39;Password&#39;, line 1, position 53.&quot;]},&quot;type&quot;:&quot;<a class='tag-url' href='https://tools.ietf.org/html/rfc7231#section-6.5.1&quot;,&quot;title&quot;:&quot;One' target='_blank'>https://tools.ietf.org/html/rfc7231#section...quot;:&quot;One</a> or more validation errors occurred.&quot;,&quot;status&quot;:400...<br>
</div></div><br>
Для того, чтоб кавычка в поле Password была законной, ее нужно экранировать для формата JSON(и не только для него, в линуксе например в командной строке наблюдаются глюки, когда вводишь &#33; знак в строке запроса, в качестве пароля, сносит башню и bash уже не отображает нормально историю запроса, скорее всего это как то связано с неэкранированием символа, ну короче ноги растут от туда).<br>
<br>
А чтоб запрос был правильным, надо строку с паролем(да и с юзером тоже) экранировать, чтоб запрос выглядел вот так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">{&quot;Username&quot;:&quot;Admin&quot;,&quot;Password&quot;:&quot;P@$$w0rd\&quot;!!1&quot;}</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T08:51:58+00:00">25.05.23, 08:51</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891048'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T08:15:50+00:00">25.05.23, 08:15</time></span><div class='quote '>Или ты весь json сразу через это гоняешь?<br>
</div></div><br>
Поле Password и User только экранировать надо. Зачем же весь json ? ты как с CURL&#39;ом не работал что ле? Или с другой тулзой, где надо данные в json формате гонять ? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T08:56:52+00:00">25.05.23, 08:56</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891048'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>D_KEY &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T08:15:50+00:00">25.05.23, 08:15</time></span><div class='quote '>Зачем избавляться от кавычек, если в json строковые объекты тоже в кавычках задаются?</div></div><br>
В том и дело, что в JSON, они либо все экранируются слешами, либо только строки в кавычках. А тут что внутри - экранирует, при этом по краям добавляет кавычки, не экранированные. Т.е. получаешь строку <br>
<strong class='tag-b'>&quot;P@&#036;&#036;w0rd&#092;&quot;&#33;&#33;1&quot;</strong> с неэкранированными кавычками.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891048</guid>
        <pubDate>Thu, 25 May 2023 08:15:50 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891048</link>
        <description><![CDATA[D_KEY: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891024'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:22:24+00:00">24.05.23, 12:22</time></span><div class='quote '>Мне надо строку заэкранировать и послать в JSON, начал гуглить что есть в плюсах, нашел эту функцию std::quoted, вроде она делает то, что надо, но добавляет в начало и конец строки - кавычки. Теперь от них избавляться надо по тупому</div></div><br>
Можешь чуть подробнее рассказать? Зачем избавляться от кавычек, если в json строковые объекты тоже в кавычках задаются? <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T08:20:38+00:00">25.05.23, 08:20</time></span></span><br>
Или ты весь json сразу через это гоняешь?]]></description>
        <author>D_KEY</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891046</guid>
        <pubDate>Thu, 25 May 2023 06:25:10 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891046</link>
        <description><![CDATA[Wound: Ну и плюс ко всему, плюсы изначально делались так, что в них есть кирпичи, а ты из них что то строишь и это было круто. Нужен тебе кирпич в форме буквы Г, ты взял три кирпича, слепил из них букву Г, и вуаля. А с новыми стандартами - в язык начали тащить всякую чушь, в погоне за всякими новомодными языками. И вместо того чтоб следовать принципу - ты дай кирпичь, а уж букву Г я и сам слеплю, решили пойти по тупому пути. И добавлять уже целые алгоритмы, которые объединяются и представляют из себя нечто очень узконаправленное. При этом по отдельности - эти алгоритмы не реализованы. И в итоге получается ситуация, букву П слепили и засунули в библиотеку из 5 кирпичей, а букву Г не додумались. В итоге получается черти что и с боку бантик. Вы или тогда уже как в тех языках, за которыми вы гонитесь, вводите все подряд, либо делайте кирпичи, а уж пользователь сам разберется какую фигуру ему из них сложить надо. Потому что все это вызывает массу вопросов. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T07:18:20+00:00">25.05.23, 07:18</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891043'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T20:45:54+00:00">24.05.23, 20:45</time></span><div class='quote '>Если надо избавиться от кавычек, тогда что мешает сделать так</div></div><br>
Мешает то, что это костыль, причем жесткий. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T07:21:09+00:00">25.05.23, 07:21</time></span></span><br>
Ну и в третий раз спрошу - будут примеры того, как по феншую экранировать символы в строке, в плюсах? Если что, один из вариантов решения я уже запилил, но он больше похож на то, как стрельба из пушки по воробьям. Но в принципе че делать, если комитетчики не могут базовые алгоритмы в язык ввести, зато всякую чушь тащут.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891045</guid>
        <pubDate>Thu, 25 May 2023 04:33:57 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891045</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891043'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T20:45:54+00:00">24.05.23, 20:45</time></span><div class='quote '> Вы там ни о чем таком не просили.</div></div><br>
Там не писал, а дальше написал. И да, цель не в том чтобы написать это в принципе, потому что я не умею. Я и сам могу написать, цель в том, что б сделать это лаконично и по феншуюю. Другими словами - если что то подобное для этого уже есть в STL, а ты напишешь свой велосипед - то это уже будет не круто, конечно если ты не обоснуешь что твой велосипед круче, чем то, что уже например есть.<br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-25T04:42:25+00:00">25.05.23, 04:42</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891044'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T01:15:13+00:00">25.05.23, 01:15</time></span><div class='quote '>Другое дело, если б он назывался erase_if(), но ведь он remove_if(), а значит не уничтожает, а убирает за пределы диапазона, определяемого итераторами.</div></div><br>
первый - стереть_если, второй удалить_если. Что первый, что второй по своему смыслу предпоалагет как раз уничтожение элементов, а не убирание за пределы диапазона. Имена функций вводят в ступор новичков - это факт, их названия попросту не отражают то что они делают. <br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891044'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T01:15:13+00:00">25.05.23, 01:15</time></span><div class='quote '>Ну вот с чего ты взял, что всё не с точностью до наоборот, и это ты входишь в число 3,5 человек, а?</div></div><br>
Из простой логики, если есть два действия, одно сложное(составное), а второй простое, и сложное включает в себя простое, то значит простое по определению будет использоваться чаще, чем сложное. Хотя бы потому, что сложное включает простое. И даже если все будут использовать только лишь сложное, то простое в этом случае будет использоваться не меньше сложного по количеству раз.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891044'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-25T01:15:13+00:00">25.05.23, 01:15</time></span><div class='quote '>Как по мне, мне нужен манипулятор, который полностью хендлит любые ESC, как вон я выше описывал.</div></div><br>
Я ж выше написал. Ты давно регился на ресурсах? Там в паролях предлагается юзать спецсимволы - &quot;,/,|,&#092;,&#33; ну типа этих. Очевидно что некоторые из них, если их не экранировать - будут создавать ошибки. В командной строке, передаче по сети в различных текстовых форматах и т.д.<br>
<br>
Как по мне, своей фразой &quot;мне нужен манипулятор&quot;, ты уже намекаешь на какую то портянку кода. Для какой то тривиильной задачи, которая встречается очень часто. При наличии у тебя функции похожей которая делает то что надо, плюс еще пихает что то левое правда.<br>
<br>
Писать класс, для того чтоб в одном месте его вызвать - как по мне уже слишком . Че реплейсом не сделать? Хотя есть и без манипуляторов решения.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891044</guid>
        <pubDate>Thu, 25 May 2023 01:15:13 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891044</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891042'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T19:37:56+00:00">24.05.23, 19:37</time></span><div class='quote '> Че не сделать нормальный remove_if, который именно что удаляет, а не занимается фигней?</div></div>Потому что алгоритм ничего не знает о контейнерах, итераторы которого ему переданы в обработку. К тому же не факт, что я захочу их удалить из контейнера, а не, скажем, передать в очередной алгоритм. Другое дело, если б он назывался erase_if(), но ведь он remove_if(), а значит не уничтожает, а убирает за пределы диапазона, определяемого итераторами.<br>
Впрочем, тут это оффтоп. Так-то всё достаточно подробно объяснено в соответствующей литературе.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891042'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T19:37:56+00:00">24.05.23, 19:37</time></span><div class='quote '>Но нет же. Надо обязательно создать какую то узконаправленную функцию, которая нужна трем с половиной челам, и то в теории.</div></div>Ну вот с чего ты взял, что всё не с точностью до наоборот, и это ты входишь в число 3,5 человек, а? Просили сделать простой манипулятор, чтобы строки можно было просто форматировать под протоколы, которые требуют заключать их в кавычки. Если б дело было в простых<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">auto toOutput = [](const std::string&amp; str){ return &#39;&quot;&#39; + myString + &#39;&quot;&#39;; };</div><div class="code_line">auto fromInput= [](const std::string&amp; str){ return str.substr(str.start_with(&#39;&quot;&#39;), str.length() - str.end_with(&#39;&quot;&#39;) - str.start_with(&#39;&quot;&#39;)); };</div></ol></div></div></div></div>то вопрос вообще бы не стоял. Но ведь надо ж ещё поискать &quot; внутри, чтобы они не воспринимались как ограничители. Но это только в том случае, если перед &quot; нет &#092;, тогда это уже не ограничитель. Но только в том случае, если перед &#092; нет ещё одного &#092;, тогда это всё-таки ограничитель. И про триграф ??/ ещё не забыть.<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891042'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T19:37:56+00:00">24.05.23, 19:37</time></span><div class='quote '> У меня резко нарисовался баг в мелкой тулзе, в пароль передали спецсимволы типа кавычки, и сервак не распарсил это. Нужно было просто экранировать строку.<br>
<br>
<br>
И никто из вас так и не написал, как же мне экранировать строку? </div></div>Ябеспонятия, что тебе было надо. И даже сейчас тоже беспонятия, что ты понимаешь под понятием экранирования. Что там надо твоему серверу, мне неведомо. Возможно у вас плохой сервер, выкинете его на свалку и возьмите хороший.<br>
Как по мне, мне нужен манипулятор, который полностью хендлит любые ESC, как вон я выше описывал.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891043</guid>
        <pubDate>Wed, 24 May 2023 20:45:54 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891043</link>
        <description><![CDATA[macomics: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891042'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T19:37:56+00:00">24.05.23, 19:37</time></span><div class='quote '>И никто из вас так и не написал, как же мне экранировать строку?</div></div><br>
Перечитайте свой первый пост. Вы там ни о чем таком не просили. Писали, что баг нашли...<br>
<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">Если надо избавиться от кавычек, тогда что мешает сделать так<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;iomanip&#62;</div><div class="code_line">#include &#60;sstream&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">void default_delimiter() {</div><div class="code_line">&nbsp;&nbsp;const std::string in = &quot;std::quoted() quotes this string and embedded \&quot;quotes\&quot; too&quot;;</div><div class="code_line">&nbsp;&nbsp;std::stringstream ss;</div><div class="code_line">&nbsp;&nbsp;ss &#60;&#60; std::quoted(in);</div><div class="code_line">&nbsp;&nbsp;std::string out;</div><div class="code_line">&nbsp;&nbsp;ss &#62;&#62; std::quoted(out);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;std::cout &#60;&#60; &quot;Default delimiter case:\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;read in &nbsp; &nbsp; [&quot; &#60;&#60; in &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;stored as &nbsp; [&quot; &#60;&#60; ss.str().substr(1,ss.str().size() - 2) &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;written out [&quot; &#60;&#60; out &#60;&#60; &quot;]\n\n&quot;;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">void custom_delimiter() {</div><div class="code_line">&nbsp;&nbsp;const char delim {&#39;$&#39;};</div><div class="code_line">&nbsp;&nbsp;const char escape {&#39;%&#39;};</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;const std::string in = &quot;std::quoted() quotes this string and embedded $quotes$ $too&quot;;</div><div class="code_line">&nbsp;&nbsp;std::stringstream ss;</div><div class="code_line">&nbsp;&nbsp;ss &#60;&#60; std::quoted(in, delim, escape);</div><div class="code_line">&nbsp;&nbsp;std::string out;</div><div class="code_line">&nbsp;&nbsp;ss &#62;&#62; std::quoted(out, delim, escape);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;std::cout &#60;&#60; &quot;Custom delimiter case:\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;read in &nbsp; &nbsp; [&quot; &#60;&#60; in &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;stored as &nbsp; [&quot; &#60;&#60; ss.str().substr(1,ss.str().size()-2) &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;written out [&quot; &#60;&#60; out &#60;&#60; &quot;]\n\n&quot;;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main() {</div><div class="code_line">&nbsp;&nbsp;default_delimiter();</div><div class="code_line">&nbsp;&nbsp;custom_delimiter();</div><div class="code_line">}</div></ol></div></div></div></div><div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Default delimiter case:</div><div class="code_line">read in &nbsp; &nbsp; [std::quoted() quotes this string and embedded &quot;quotes&quot; too]</div><div class="code_line">stored as &nbsp; [std::quoted() quotes this string and embedded \&quot;quotes\&quot; too]</div><div class="code_line">written out [std::quoted() quotes this string and embedded &quot;quotes&quot; too]</div><div class="code_line">&nbsp;</div><div class="code_line">Custom delimiter case:</div><div class="code_line">read in &nbsp; &nbsp; [std::quoted() quotes this string and embedded $quotes$ $too]</div><div class="code_line">stored as &nbsp; [std::quoted() quotes this string and embedded %$quotes%$ %$too]</div><div class="code_line">written out [std::quoted() quotes this string and embedded $quotes$ $too]</div></ol></div></div></div></div></div></div>]]></description>
        <author>macomics</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891042</guid>
        <pubDate>Wed, 24 May 2023 19:37:56 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891042</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891041'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T18:48:20+00:00">24.05.23, 18:48</time></span><div class='quote '>Хм. А вот вызвал я окавычивание, а экранирование не стал. особенно. Если там изначально баг с расстановкой кавычек.</div></div><br>
Это вопросы из серии если бы, да кабы. Вон тебя не смущает всякие функции std::remove_if ? Иди удали элемент. Да фиг там, сидишь и думаешь - а че случилось, вроде хотел удалить, а ничего не произошло. А тут еще какой то std::erase Надо вызвать. Вот жеж. И никого это не смущает, еще и за фичу выдавать будете. Че не сделать нормальный remove_if, который именно что удаляет, а не занимается фигней? <br>
Вот так и тут. Забыл экранирование вызвать? Ну значит оно тебе и не нужно было. Попробуй невалидный итератор передать в функцию remove_if - будет тоже самое что и в твоем случае. А вообще даже если у тебя там баг с расстановкой кавычек, эта функция тебе еще две добавит и все. Она судя по всему именно так и работает.<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891041'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T18:48:20+00:00">24.05.23, 18:48</time></span><div class='quote '>Добавь туда для гарантии EOLолов или наоборот убери, если они там есть</div></div><br>
Я вообще не понимаю сути вопроса. Да понапихай туда всего чего надо и не надо, еще и бинарных нечитаемых символов напихай. И чего? Функция все что делает - это экранирует уже существующие кавычки и другие знаки + всегда, хоть у тебя там в начале уже 100 кавычек - она добавит еще по одной ковычке - спереди и сзади. Какой в этом толк то? Вы мне рассказываете вам в линуксе с этим удобно или CSV парсить? Лол. Так в чем вопрос - смотрите еще раз: Берем эту функцию, делим ее на две, одна экранирует, вторая окавычивает. И все. В итоге теперь это все можно использовать еще и для экранирования &#33;&#33;&#33;<br>
Но нет же. Надо обязательно создать какую то узконаправленную функцию, которая нужна трем с половиной челам, и то в теории. На практике они скорее ее не юзали эту функцию никогда в жизни, и скорее всего узнали о ней либо только сейчас, либо где то как то краем уха слышали.<br>
<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891041'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T18:48:20+00:00">24.05.23, 18:48</time></span><div class='quote '>На все случаи жизни библиотек не напасёшься. Зато есть универсальные, которые позволяют тебе нахреначить любую грамматику, какую захочешь. Придумывай формат или бери имеющийся готовый, описывай её в каком-нибудь boost::spirit, и радуйся на здоровье.</div></div><br>
Зачем мне Boost ? У меня резко нарисовался баг в мелкой тулзе, в пароль передали спецсимволы типа кавычки, и сервак не распарсил это. Нужно было просто экранировать строку.<br>
<br>
<br>
И никто из вас так и не написал, как же мне экранировать строку? В общем то я уже сделал задачу, просто интересно от местных услышать. А то всякие байки о том, какая эта функция важная из за того что помимо того что экранирует еще и кавычит, рассказываете.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891041</guid>
        <pubDate>Wed, 24 May 2023 18:48:20 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891041</link>
        <description><![CDATA[Qraizer: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891040'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T16:04:09+00:00">24.05.23, 16:04</time></span><div class='quote '>Я тебе пишу - берем эту функцию и делим на 2 функции. Ты спрашиваешь - и что делать вот с такой строкой. Ну как что? Если раньше ты вызывал 1 функцию, то теперь одну передашь в другую делов то.</div></div>Хм. А вот вызвал я окавычивание, а экранирование не стал. особенно. Если там изначально баг с расстановкой кавычек. На, разгребай при чтении:<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&quot;Бегемот сказал &quot;бла-бла-бла&quot; и выпрыгнул на ходу, а водитель подумал «идиот&quot;</div></ol></div></div></div></div>Добавь туда для гарантии EOLолов или наоборот убери, если они там есть:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&#60;pr&#62;&quot;Бегемот сказал &quot;бла-бла-бла&quot; и выпры</div><div class="code_line">гнул на ходу, а водитель подумал «идиот&quot;&#60;/pr&#62;</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T18:49:17+00:00">24.05.23, 18:49</time></span></span><br>
Не забывай, ты разговариваешь, с профессиональным  :blush: верификатором <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T18:51:04+00:00">24.05.23, 18:51</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891040'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T16:04:09+00:00">24.05.23, 16:04</time></span><div class='quote '>А вот встречный вопрос, что делать если мне надо просто экранировать символы в строке? Вот что мне делать? Писать свой велосипед?</div></div>На все случаи жизни библиотек не напасёшься. Зато есть универсальные, которые позволяют тебе нахреначить любую грамматику, какую захочешь. Придумывай формат или бери имеющийся готовый, описывай её в каком-нибудь boost::spirit, и радуйся на здоровье.<br>
<br>
Так-то я не спорю, что фича малость сахарная. С другой стороны тогда это был бы не легковесный IO-манипулятор, тогда как просили как раз о нём.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891040</guid>
        <pubDate>Wed, 24 May 2023 16:04:09 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891040</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891039'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T15:37:47+00:00">24.05.23, 15:37</time></span><div class='quote '>Не проще.</div></div><br>
Очень странно. Функция ведет себя как то иначе при разных условиях или что?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891039'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T15:37:47+00:00">24.05.23, 15:37</time></span><div class='quote '>при окавычивании, ещё понятно, а что делать с</div></div><br>
Ровно то же, что делает эта функция - экранировать и окавычить. Не понимаю смысла вопросов.<br>
<br>
Я тебе пишу - берем эту функцию и делим на 2 функции. Ты спрашиваешь - и что делать вот с такой строкой. Ну как что? Если раньше ты вызывал 1 функцию, то теперь одну передашь в другую делов то.<br>
<br>
А вот встречный вопрос, что делать если мне надо просто экранировать символы в строке? Вот что мне делать? Писать свой велосипед? Т.е. какую то шнягу они в стандарт затащили, а то что вылезает везде где пользователь что то вводит, пароль например со спец символами - они сделать не додумались. Ну супер.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891039</guid>
        <pubDate>Wed, 24 May 2023 15:37:47 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891039</link>
        <description><![CDATA[Qraizer: P.S. У меня вот шелезяка выдаёт в RS-232 строку приглашения с версией, которую надо парсить, чтоб убедиться, что шелезяка работает. Причём ещё шелезяки разных ревизий отличаются этими строками. Сделал .ini, в котором расписал все возможные строки и соответствующие им версии. И всё бы ничего, если б в этих строках не могли встречаться спец.символы, те же &#092;n или &#092;t, например. Так что пришлось руками хреначить целую единицу трансляции, чтоб забрать строки из .ini в формате строковых литералов Плюсов и представить их в качестве корректного символьного массива. На вскидку: &#092;n, &#092;r, &#092;a, &#092;b, &#092;f, &#092;t, &#092;v, &#092;&#39;, &#092;&quot;, &#092;?, &#092;&#092; – лепота; &#092;xHH, &#092;OOO – м-м-м как интересно; а самый смак &#092;uXXXX, &#092;UXXXXXXXX. Вот от какого манипулятора я бы не отказался. Особенно от двух последних, ибо кастить юникоды через локали то ещё удовольствие <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T15:44:31+00:00">24.05.23, 15:44</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891038'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T15:31:46+00:00">24.05.23, 15:31</time></span><div class='quote '>Не проще ли сделать 2 - одна для экранирования, вторая для того чтоб кавычить?</div></div>Не проще. Что делать со строкой<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Бегемот сказал &quot;бла-бла-бла&quot; и выпрыгнул на ходу, а водитель подумал &quot;идиот&quot;</div></ol></div></div></div></div>при окавычивании, ещё понятно, а что делать с<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">&quot;Бегемот сказал &quot;бла-бла-бла&quot; и выпрыгнул на ходу, а водитель подумал \&quot;идиот\&quot;</div></ol></div></div></div></div>при чтении, вообще не понятно. Примерно так же поступили с operator new и operator delete в своё время. Они сразу делают две вещи: и управляют памятью, и создают/разрушают объекты конструкторами/деструкторами. Несмотря на то, что управление памятью и создание/уничтожение объектов – это две совершенно разные задачи, выполняются они всегда вместе, во избежание.<br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T15:45:07+00:00">24.05.23, 15:45</time></span></span><br>
P.S. Кавычки в примерах расставлены именно так, как я хотел. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T15:56:23+00:00">24.05.23, 15:56</time></span></span><br>
Ты, <strong class='tag-b'>Wound</strong>, наверное, никогда не сталкивался с необходимостью квалифицировать свои инструменты на отказоустойчивость и достигать 100% структурного покрытия блоков, операторов, решений и условий для этого. Работать в идеальном или хотя бы в адекватно себя ведущем исполнительном окружении всегда хочется, но нельзя, приходится предусматривать возможность мульёна разных багов со стороны, которую ты не контролируешь. Так что тебе на вход может прилететь невесть что и как оформленное, и вон те примеры, наполовину такие, а на другую половину недосякие, вполне будут реальны, если не решать обе задачи std::quoted одновременно. А оно надо кому?]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891038</guid>
        <pubDate>Wed, 24 May 2023 15:31:46 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891038</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891036'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T13:59:57+00:00">24.05.23, 13:59</time></span><div class='quote '>Вы не заметили, что я убрал XML.</div></div><br>
Заметил вообще то, но ты упор сделал на чтении текстовых файлов, а не на CSV, XML - вполне себе текстовый файл.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891035'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T13:56:43+00:00">24.05.23, 13:56</time></span><div class='quote '>Не вижу, откуда взялся &quot;&#092;&quot;A&#092;&#092;&#092;&quot;&#092;&quot;&quot;</div></div><br>
Так функция же добавила. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T15:34:08+00:00">24.05.23, 15:34</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891037'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Qraizer &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T15:29:20+00:00">24.05.23, 15:29</time></span><div class='quote '>Очевидно же, что функция предназначена для работы со строками в форматах, где строки окавычиваются, а кавычки в качестве обычных элементов, а не ограничителей строки, обрабатываются, также, как и в Плюсах. Ровно это она и делает. Без этого формировать или парсить такие значения на Плюсах неудобно, придётся самому корёжить строку со встроенными &quot; при выводе и парсить при чтении. </div></div><br>
Я уже понял что она делает. Она какую то узконаправленную задачу решает, которая нужна макомиксу для чтения CSV файлов, и похоже что все. А еще кто то ее в линуксах юзает. Зато про экранировать строку - разрабы стандарта похоже не слышали. Зачем делать такую сложную функцию? Не проще ли сделать 2 - одна для экранирования, вторая для того чтоб кавычить?]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891037</guid>
        <pubDate>Wed, 24 May 2023 15:29:20 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891037</link>
        <description><![CDATA[Qraizer: Очевидно же, что функция предназначена для работы со строками в форматах, где строки окавычиваются, а кавычки в качестве обычных элементов, а не ограничителей строки, обрабатываются, также, как и в Плюсах. Ровно это она и делает. Без этого формировать или парсить такие значения на Плюсах неудобно, придётся самому корёжить строку со встроенными &quot; при выводе и парсить при чтении. Причём регулярками это хрен так легко сделаешь, т.к. нужно учитывать &#092; перед &quot;, которые будут не &quot;, и ещё &#092; перед &#092;, которые не будут &#092;, так что даже банальным циклом не так просто заморочиться. Если б дело было просто в расстановке/удалении кавычек по краям, вопроса б не было.]]></description>
        <author>Qraizer</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891036</guid>
        <pubDate>Wed, 24 May 2023 13:59:57 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891036</link>
        <description><![CDATA[macomics: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891034'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T13:48:13+00:00">24.05.23, 13:48</time></span><div class='quote '>А попробуйте ка, без каких-то специальных библиотек, распарсить XML файл на элементы и атрибуты? </div></div><br>
Вы не заметили, что я убрал XML. Я работаю с CSV и это очень удобно без каких-либо дополнительных библиотек.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891035'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T13:56:43+00:00">24.05.23, 13:56</time></span><div class='quote '>(Я запускаю в Linux, поэтому тоже с экранированием, но апострофами, для простоты. Для сравнения, можно с этими же параметрами запустить echo)</div></div><br>
Linux, кстати, тоже использует эту самую std::quoted для работы с командной строкой. Это тоже удобно для запуска внешних программ использовать.]]></description>
        <author>macomics</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891035</guid>
        <pubDate>Wed, 24 May 2023 13:56:43 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891035</link>
        <description><![CDATA[kopilov: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891032'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T13:01:14+00:00">24.05.23, 13:01</time></span><div class='quote '>Для какой кодогенерации ? чем &quot;&#092;&quot;A&#092;&#092;&#092;&quot;&#092;&quot;&quot; отличается от &quot;A&#092;&#092;&#092;&quot;&quot; ? Ты разницу не видишь? </div></div><br>
Разницу вижу. Не вижу, откуда взялся &quot;&#092;&quot;A&#092;&#092;&#092;&quot;&#092;&quot;&quot;<br>
<br>
ОК, держи полный пример.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;iomanip&#62;</div><div class="code_line">int main(int argc, char** argv) {</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot;#include &#60;iostream&#62;&quot; &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot;int main(int argc, char** argv) {&quot; &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot; &nbsp; &nbsp;//We should print &quot; &#60;&#60; argv[1] &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot; &nbsp; &nbsp;//equivalent literal is &quot; &#60;&#60; std::quoted(argv[1]) &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot; &nbsp; &nbsp;std::cout &#60;&#60; &quot; &#60;&#60; std::quoted(argv[1]) &#60;&#60; &quot; &#60;&#60; std::endl;&quot; &#60;&#60; std::endl;</div><div class="code_line">&nbsp;&nbsp; &nbsp;std::cout &#60;&#60; &quot;}&quot; &#60;&#60; std::endl;</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
Сохраним, как generator.cpp, скомпилируем один раз.<br>
Сгенерируем несколько шаблонных кодов. (Я запускаю в Linux, поэтому тоже с экранированием, но апострофами, для простоты. Для сравнения, можно с этими же параметрами запустить echo)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">:~$ g++ -o generator generator.cpp </div><div class="code_line">:~$ ./generator &#39;\&#39; &#62; generated1.cpp</div><div class="code_line">:~$ ./generator &#39;&quot;&#39; &#62; generated2.cpp</div><div class="code_line">:~$ ./generator &#39;A\&quot;&#39; &#62; generated3.cpp</div></ol></div></div></div></div><br>
<br>
Читаем получившиеся файлы (для понимания). И запускаем.<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">:~$ g++ -o generated1 generated1.cpp</div><div class="code_line">:~$ g++ -o generated2 generated2.cpp</div><div class="code_line">:~$ g++ -o generated3 generated3.cpp</div><div class="code_line">:~$ ./generated1</div><div class="code_line">\</div><div class="code_line">:~$ echo &#39;\&#39;</div><div class="code_line">\</div><div class="code_line">:~$ ./generated2</div><div class="code_line">&quot;</div><div class="code_line">:~$ echo &#39;&quot;&#39;</div><div class="code_line">&quot;</div><div class="code_line">:~$ ./generated3</div><div class="code_line">A\&quot;</div><div class="code_line">:~$ echo &#39;A\&quot;&#39;</div><div class="code_line">A\&quot;</div></ol></div></div></div></div><br>
<br>
Видим, что каждый сгенерированный исходник сохранил в человеко-машино-читаемом виде то, что было непосредственно задано при генерации]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891034</guid>
        <pubDate>Wed, 24 May 2023 13:48:13 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891034</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891033'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T13:24:03+00:00">24.05.23, 13:24</time></span><div class='quote '>Зачем вам для чтения текстового файла какие-то специальные библиотеки?</div></div><br>
А попробуйте ка, без каких-то специальных библиотек, распарсить XML файл на элементы и атрибуты? Желательно не портянкой вырвиглазной и багнутой, а парой тройкой строк кода ? <br>
Если вы не в силах это вопроизвести тут и сейчас, то вам стоило бы промолчать и пройти мимо, а не писать то что вы пишете.<br>
Или вы когда писали свой бред, то акцент делали на слово &quot;для чтения&quot; ? Если так, то я про &quot;чтение&quot; ничего не писал. Я писал про работу с конкретными форматами(кстати какое отношение вышеперечисленные форматы имеют к плюсам) ? Может еще какой нибудь Exel формат добавить в плюсы?]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891033</guid>
        <pubDate>Wed, 24 May 2023 13:24:03 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891033</link>
        <description><![CDATA[macomics: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891032'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T13:01:14+00:00">24.05.23, 13:01</time></span><div class='quote '>люс если мне надо будет работать ... или CSV</div></div>Зачем вам для чтения текстового файла какие-то специальные библиотеки?]]></description>
        <author>macomics</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891032</guid>
        <pubDate>Wed, 24 May 2023 13:01:14 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891032</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891030'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:55:43+00:00">24.05.23, 12:55</time></span><div class='quote '>Для CSV это как раз очень удобно.</div></div><br>
Есть много чего удобно, чего нет в плюсах. Зачем тогда эту функцию вводить стандарт - если она пилится для CSV и XML ?<br>
В плюсах - кавычки к строке добавить или обернуть строку в кавычки - это очень плевое дело, да хоть тем же форматом. А вот удалить из строки кавычки - без пол литра не разобраться. Зачем пилить говно функцию - которая нужна для каких то xml и тащить ее в плюсы? Как по мне обычное экранирование строк на порядки порядков чаще встречается, чем вот это все. Плюс если мне надо будет работать с XML, или CSV - я лучше возьму готовые библиотеки, чем буду извращаться на голых плюсах писать что то. Короче подход как всегда. Понавводить всякой шняги, при этом не нужной. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T13:04:25+00:00">24.05.23, 13:04</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891031'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:58:07+00:00">24.05.23, 12:58</time></span><div class='quote '>Как пример, для кодогенерации.<br>
stc::cout &lt;&lt; &quot;A&#092;&#092;&#092;&quot;&quot; ; // выведет A&#092;&quot;</div></div><br>
Для какой кодогенерации ? чем &quot;&#092;&quot;A&#092;&#092;&#092;&quot;&#092;&quot;&quot; отличается от  &quot;A&#092;&#092;&#092;&quot;&quot; ? Ты разницу не видишь?]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891031</guid>
        <pubDate>Wed, 24 May 2023 12:58:07 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891031</link>
        <description><![CDATA[kopilov: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891029'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:52:51+00:00">24.05.23, 12:52</time></span><div class='quote '>Так что я вообще не понимаю зачем эта функция нужна</div></div><br>
Как пример, для кодогенерации.<br>
stc::cout &lt;&lt; &quot;A&#092;&#092;&#092;&quot;&quot; ; // выведет A&#092;&quot;<br>
Ну и с записью в прочие (кроме исходного кода) человеко-машино-читаемые форматы то же самое]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891030</guid>
        <pubDate>Wed, 24 May 2023 12:55:43 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891030</link>
        <description><![CDATA[macomics: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891029'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:52:51+00:00">24.05.23, 12:52</time></span><div class='quote '>В ней появляются лишние неэкранированные кавычки, первая перед А, вторая после &quot; </div></div><br>
Для CSV это как раз очень удобно.]]></description>
        <author>macomics</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891029</guid>
        <pubDate>Wed, 24 May 2023 12:52:51 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891029</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891026'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:45:04+00:00">24.05.23, 12:45</time></span><div class='quote '>Получается, она из текста делает корректный литерал, который будет содержать этот текст.<br>
Если в выводе где-то есть добавление кавычек по краям без экранирования внутренних — надо убрать, функция как раз всё и делает за тебя</div></div><br>
Чего она делает? Функция экранирует строку, типа написал ты A&#092;&quot;, она тебе вернет &quot;A&#092;&#092;&#092;&quot;&quot;, сама строка вот так будет выглядеть. Понимаешь? В ней появляются лишние неэкранированные кавычки, первая перед А, вторая после &quot; . Так что я вообще не понимаю зачем эта функция нужна. Я на нее набрел случайно, когда искал как экранировать строку в плюсах.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891028</guid>
        <pubDate>Wed, 24 May 2023 12:50:29 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891028</link>
        <description><![CDATA[macomics: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891026'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:45:04+00:00">24.05.23, 12:45</time></span><div class='quote '>Думаю, когда это писали, JSON просто не был популярен </div></div><br>
<span class="b-attach" data-size="32657" data-hits="630" data-attach-id="64927" data-attach-post-id="0">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=0&amp;attach_id=64927' title='Скачать файл' target='_blank'>Screenshot_20230524_154955.png</a> (, : 630)
		</span><br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891027'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:49:03+00:00">24.05.23, 12:49</time></span><div class='quote '>Вместо чего то юзабельного - нарисовать какую то шнягу, которую вообще никто и никогда в жизни не будет юзать. </div></div><br>
Ну вы, например, CSV не используете. А вот мне приходится ещё им пользоваться.]]></description>
        <author>macomics</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891027</guid>
        <pubDate>Wed, 24 May 2023 12:49:03 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891027</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891025'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:43:50+00:00">24.05.23, 12:43</time></span><div class='quote '>Там в самом начале написано, что функция действует в соответствии с форматами XML или CSV, а не JSON.</div></div><br>
А кому это нужно? Вместо чего то юзабельного - нарисовать какую то шнягу, которую вообще никто и никогда в жизни не будет юзать. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T12:50:01+00:00">24.05.23, 12:50</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891026'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>kopilov &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:45:04+00:00">24.05.23, 12:45</time></span><div class='quote '>Думаю, когда это писали, JSON просто не был популярен</div></div><br>
Кого этописали? Эту функцию? std::quoted ? Она появилась судя по доке в С++14, в те времена XML отмер уже окончательно, передав бразды правления JSON&#39;у]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891026</guid>
        <pubDate>Wed, 24 May 2023 12:45:04 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891026</link>
        <description><![CDATA[kopilov: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891024'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:22:24+00:00">24.05.23, 12:22</time></span><div class='quote '>А в чем смысл этой функции вообще?</div></div><br>
Получается, она из текста делает корректный литерал, который будет содержать этот текст.<br>
Если в выводе где-то есть добавление кавычек по краям без экранирования внутренних — надо убрать, функция как раз всё и делает за тебя <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T12:46:29+00:00">24.05.23, 12:46</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891025'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:43:50+00:00">24.05.23, 12:43</time></span><div class='quote '>Там в самом начале написано, что функция действует в соответствии с форматами XML или CSV, а не JSON. </div></div><br>
Думаю, когда это писали, JSON просто не был популярен]]></description>
        <author>kopilov</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891025</guid>
        <pubDate>Wed, 24 May 2023 12:43:50 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891025</link>
        <description><![CDATA[macomics: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891024'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Wound &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T12:22:24+00:00">24.05.23, 12:22</time></span><div class='quote '>А в чем смысл этой функции вообще?</div></div><br>
<a class='tag-url' href='https://en.cppreference.com/w/cpp/io/manip/quoted' target='_blank'>Там</a> в самом начале написано, что функция действует в соответствии с форматами XML или CSV, а не JSON.]]></description>
        <author>macomics</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891024</guid>
        <pubDate>Wed, 24 May 2023 12:22:24 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891024</link>
        <description><![CDATA[Wound: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891023'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T11:14:44+00:00">24.05.23, 11:14</time></span><div class='quote '>А в stored as он сохранил все правильно (с экранированием).</div></div><br>
Мне надо строку заэкранировать и послать в JSON, начал гуглить что есть в плюсах, нашел эту функцию std::quoted, вроде она делает то, что надо, но добавляет в начало и конец строки - кавычки. Теперь от них избавляться надо по тупому. Причем она их добавляет, но не экранирует. Спрашивается нафига вообще эта функция нужна? Какой в ней смысл? Она экранирует кавычки и добавляет неэкранированные ковычки. Лол.<br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2023-05-24T12:24:12+00:00">24.05.23, 12:24</time></span></span><br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=435070&view=findpost&p=3891023'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2023-05-24T11:14:44+00:00">24.05.23, 11:14</time></span><div class='quote '>Входная строка (read in) в точности соответствует выходной строке (written out).</div></div><br>
А в чем смысл этой функции вообще? Строку в кавычки обернуть? Вечно в плюсах все через жопу. Лучше бы сделали отдельно, функцию - которая оборачивает строку кавычками. А не пихали все в кучу.]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891023</guid>
        <pubDate>Wed, 24 May 2023 11:14:44 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891023</link>
        <description><![CDATA[macomics: Странно, где вы тут баг увидели? Входная строка (read in) в точности соответствует выходной строке (written out).<br>
<br>
А в stored as он сохранил все правильно (с экранированием).<br>
<br>
Если в строке встречается escape или delim тогда к ним подставляется еще один escape при &lt;&lt; и удаляется при &gt;&gt;.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;iomanip&#62;</div><div class="code_line">#include &#60;sstream&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">void default_delimiter() {</div><div class="code_line">&nbsp;&nbsp;const std::string in = &quot;std::quoted() quotes \% this string and embedded \&quot;quotes\&quot; too&quot;;</div><div class="code_line">&nbsp;&nbsp;std::stringstream ss;</div><div class="code_line">&nbsp;&nbsp;ss &#60;&#60; std::quoted(in);</div><div class="code_line">&nbsp;&nbsp;std::string out;</div><div class="code_line">&nbsp;&nbsp;ss &#62;&#62; std::quoted(out);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;std::cout &#60;&#60; &quot;Default delimiter case:\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;read in &nbsp; &nbsp; [&quot; &#60;&#60; in &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;stored as &nbsp; [&quot; &#60;&#60; ss.str() &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;written out [&quot; &#60;&#60; out &#60;&#60; &quot;]\n\n&quot;;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">void custom_delimiter() {</div><div class="code_line">&nbsp;&nbsp;const char delim {&#39;$&#39;};</div><div class="code_line">&nbsp;&nbsp;const char escape {&#39;%&#39;};</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;const std::string in = &quot;std::quoted() quotes \% this string and embedded $quotes$ $too&quot;;</div><div class="code_line">&nbsp;&nbsp;std::stringstream ss;</div><div class="code_line">&nbsp;&nbsp;ss &#60;&#60; std::quoted(in, delim, escape);</div><div class="code_line">&nbsp;&nbsp;std::string out;</div><div class="code_line">&nbsp;&nbsp;ss &#62;&#62; std::quoted(out, delim, escape);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;std::cout &#60;&#60; &quot;Custom delimiter case:\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;read in &nbsp; &nbsp; [&quot; &#60;&#60; in &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;stored as &nbsp; [&quot; &#60;&#60; ss.str() &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;written out [&quot; &#60;&#60; out &#60;&#60; &quot;]\n\n&quot;;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main() {</div><div class="code_line">&nbsp;&nbsp;default_delimiter();</div><div class="code_line">&nbsp;&nbsp;custom_delimiter();</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body">Обратите внимание на escape символы после слова quotes<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Default delimiter case:</div><div class="code_line">read in &nbsp; &nbsp; [std::quoted() quotes \% this string and embedded &quot;quotes&quot; too]</div><div class="code_line">stored as &nbsp; [&quot;std::quoted() quotes \% this string and embedded \&quot;quotes\&quot; too&quot;]</div><div class="code_line">written out [std::quoted() quotes \% this string and embedded &quot;quotes&quot; too]</div><div class="code_line">&nbsp;</div><div class="code_line">Custom delimiter case:</div><div class="code_line">read in &nbsp; &nbsp; [std::quoted() quotes \% this string and embedded $quotes$ $too]</div><div class="code_line">stored as &nbsp; [$std::quoted() quotes \%% this string and embedded %$quotes%$ %$too$]</div><div class="code_line">written out [std::quoted() quotes \% this string and embedded $quotes$ $too]</div></ol></div></div></div></div></div></div>]]></description>
        <author>macomics</author>
        <category>Holy Wars</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891022</guid>
        <pubDate>Wed, 24 May 2023 10:54:20 +0000</pubDate>
        <title>Бага в плюсах ?</title>
        <link>https://forum.sources.ru/index.php?showtopic=435070&amp;view=findpost&amp;p=3891022</link>
        <description><![CDATA[Wound: Всем привет.<br>
<br>
Вот есть пример использования std::quoted: <a class='tag-url' href='https://en.cppreference.com/w/cpp/io/manip/quoted' target='_blank'>https://en.cppreference.com/w/cpp/io/manip/quoted</a><br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">#include &#60;iostream&#62;</div><div class="code_line">#include &#60;iomanip&#62;</div><div class="code_line">#include &#60;sstream&#62;</div><div class="code_line">&nbsp;</div><div class="code_line">void default_delimiter() {</div><div class="code_line">&nbsp;&nbsp;const std::string in = &quot;std::quoted() quotes this string and embedded \&quot;quotes\&quot; too&quot;;</div><div class="code_line">&nbsp;&nbsp;std::stringstream ss;</div><div class="code_line">&nbsp;&nbsp;ss &#60;&#60; std::quoted(in);</div><div class="code_line">&nbsp;&nbsp;std::string out;</div><div class="code_line">&nbsp;&nbsp;ss &#62;&#62; std::quoted(out);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;std::cout &#60;&#60; &quot;Default delimiter case:\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;read in &nbsp; &nbsp; [&quot; &#60;&#60; in &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;stored as &nbsp; [&quot; &#60;&#60; ss.str() &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;written out [&quot; &#60;&#60; out &#60;&#60; &quot;]\n\n&quot;;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">void custom_delimiter() {</div><div class="code_line">&nbsp;&nbsp;const char delim {&#39;$&#39;};</div><div class="code_line">&nbsp;&nbsp;const char escape {&#39;%&#39;};</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;const std::string in = &quot;std::quoted() quotes this string and embedded $quotes$ $too&quot;;</div><div class="code_line">&nbsp;&nbsp;std::stringstream ss;</div><div class="code_line">&nbsp;&nbsp;ss &#60;&#60; std::quoted(in, delim, escape);</div><div class="code_line">&nbsp;&nbsp;std::string out;</div><div class="code_line">&nbsp;&nbsp;ss &#62;&#62; std::quoted(out, delim, escape);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;std::cout &#60;&#60; &quot;Custom delimiter case:\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;read in &nbsp; &nbsp; [&quot; &#60;&#60; in &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;stored as &nbsp; [&quot; &#60;&#60; ss.str() &#60;&#60; &quot;]\n&quot;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;written out [&quot; &#60;&#60; out &#60;&#60; &quot;]\n\n&quot;;</div><div class="code_line">}</div><div class="code_line">&nbsp;</div><div class="code_line">int main() {</div><div class="code_line">&nbsp;&nbsp;default_delimiter();</div><div class="code_line">&nbsp;&nbsp;custom_delimiter();</div><div class="code_line">}</div></ol></div></div></div></div><br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">Default delimiter case:</div><div class="code_line">read in &nbsp; &nbsp; [std::quoted() quotes this string and embedded &quot;quotes&quot; too]</div><div class="code_line">stored as &nbsp; [&quot;std::quoted() quotes this string and embedded \&quot;quotes\&quot; too&quot;]</div><div class="code_line">written out [std::quoted() quotes this string and embedded &quot;quotes&quot; too]</div><div class="code_line">&nbsp;</div><div class="code_line">Custom delimiter case:</div><div class="code_line">read in &nbsp; &nbsp; [std::quoted() quotes this string and embedded $quotes$ $too]</div><div class="code_line">stored as &nbsp; [$std::quoted() quotes this string and embedded %$quotes%$ %$too$]</div><div class="code_line">written out [std::quoted() quotes this string and embedded $quotes$ $too]</div></ol></div></div></div></div><br>
Внимание смотрим на stored as - ну че за говно? Откуда там взялось &quot;&quot; начальные?]]></description>
        <author>Wound</author>
        <category>Holy Wars</category>
      </item>
	
      </channel>
      </rss>
	