Boost C++ Libraries: Ticket #9105: boost::tokenizer fails if string contains percent signs https://svn.boost.org/trac10/ticket/9105 <p> [Visual Studio 2010] Let's use as an example code shown on the bottom of the page <a href="http://www.boost.org/doc/libs/1_54_0/libs/tokenizer/escaped_list_separator.htm">http://www.boost.org/doc/libs/1_54_0/libs/tokenizer/escaped_list_separator.htm</a> </p> <p> =====&gt;&gt;&gt;&gt; <em> simple_example_2.cpp #include&lt;iostream&gt; #include&lt;boost/tokenizer.hpp&gt; #include&lt;string&gt; </em></p> <p> int main(){ </p> <blockquote> <p> using namespace std; using namespace boost; string s = "Field 1,\"putting quotes around fields, allows commas\",Field 3"; tokenizer&lt;escaped_list_separator&lt;char&gt; &gt; tok(s); for(tokenizer&lt;escaped_list_separator&lt;char&gt; &gt;::iterator beg=tok.begin(); beg!=tok.end();++beg){ </p> <blockquote> <p> cout &lt;&lt; *beg &lt;&lt; "\n"; </p> </blockquote> <p> } </p> </blockquote> <p> } &lt;&lt;&lt;&lt;===== </p> <p> Works fine. </p> <p> Let's insert percent sign somewhere inside string s. As an example s = "Field 1,\"putting q%uotes around fields, allows commas\",Field 3"; </p> <p> program fails with: First-chance exception at 0x75c4c41f in test.exe: Microsoft C++ exception: boost::escaped_list_error at memory location 0x007cf060.. </p> <p> It fails even percent sign would be followed by hex code (like %20) </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/9105 Trac 1.4.3