title: std::strtoul equivalent in C++ standard library?
body: <p>Consider the following example:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;clocale&gt;
  #include &lt;cstdlib&gt;
  #include &lt;string&gt;
  int main()
  {
      std::setlocale(LC_ALL, "en_US.utf8");
      std::string s = "03A0";
      wchar_t wstr = std::strtoul(s.c_str(), nullptr, 16);
      std::wcout &lt;&lt; wstr;
  }
  </code></pre>
  
  <p>This outputs <code>Π</code> on <a href="http://coliru.stacked-crooked.com/view?id=728553bb351ea13ffa80af67b193011f-f674c1a6d04c632b71a62362c0ccfc51" rel="nofollow">Coliru</a>.</p>
  
  <p><strong>Question</strong></p>
  
  <p><a href="http://en.cppreference.com/w/cpp/string/byte/strtoul" rel="nofollow"><code>std::strtoul</code></a>, is from <code>&lt;cstdlib&gt;</code>. I'm perfectly fine with using it, but I was wondering if the above example was possible using only the C++ standard library (perhaps stringstreams)?</p>
  
  <p>Note also that there is no prefex <code>0x</code> on the string indicating hexadecimal.</p>