<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 5/3/19 7:12 AM, Lyberta wrote:<br>
</div>
<blockquote type="cite"
cite="mid:1e870dce-d9d9-0ed9-17aa-172645a7d6b7@lyberta.net">
<pre class="moz-quote-pre" wrap="">So GCC 9 has been released and I'm starting migration to char8_t. The
first question is how to print std::u8string? Since std::cout works in
execution character set I need a way to convert string from UTF-8 to ECS.</pre>
</blockquote>
I wish I had a better suggestion for you then std::c8rtomb.
JeanHeyd is working on a proposal for modern transcoding interfaces.<br>
<blockquote type="cite"
cite="mid:1e870dce-d9d9-0ed9-17aa-172645a7d6b7@lyberta.net">
<pre class="moz-quote-pre" wrap="">
It looks like the only way is to use std::c8rtomb but the API is very
cryptic and I don't understand it. Can someone provide an example code?</pre>
</blockquote>
<p>As far as I know, no one has actually implemented std::c8rtomb
yet. It has been on my todo list for a long time to contribute an
implementation to glibc, but I haven't found the time yet.</p>
<p>c8rtomb is intended to match the existing c16rtomb and c32rtomb
functions, so inherits design and wording from them. The wording
in the C++ standard for c8rtomb is a lightly edited copy of the C
standard's wording for c16rtomb. That wording is, well, it could
be improved. A lot. I intentionally chose to keep it aligned
with the C standard so as not to cause confusion for implementors
(presumably, they have already come to an understanding with C's
wording).</p>
<p>I suggest looking at the examples for c16rtomb on
cppreference.com.<br>
- <a class="moz-txt-link-freetext" href="https://en.cppreference.com/w/cpp/string/multibyte/c16rtomb">https://en.cppreference.com/w/cpp/string/multibyte/c16rtomb</a><br>
</p>
<p>Tom.<br>
</p>
<blockquote type="cite"
cite="mid:1e870dce-d9d9-0ed9-17aa-172645a7d6b7@lyberta.net">
<pre class="moz-quote-pre" wrap="">
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre" wrap="">_______________________________________________
SG16 Unicode mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Unicode@isocpp.open-std.org">Unicode@isocpp.open-std.org</a>
<a class="moz-txt-link-freetext" href="http://www.open-std.org/mailman/listinfo/unicode">http://www.open-std.org/mailman/listinfo/unicode</a>
</pre>
</blockquote>
<p><br>
</p>
</body>
</html>