<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[unshift function im codecvt-facet]]></title><description><![CDATA[<p>hola</p>
<p>was soll unshift in dem fall auf deutsch heissen ? was macht die funktion ?</p>
<p>danke</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/340036/unshift-function-im-codecvt-facet</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 12:21:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/340036.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Oct 2016 10:27:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to unshift function im codecvt-facet on Sat, 15 Oct 2016 10:27:48 GMT]]></title><description><![CDATA[<p>hola</p>
<p>was soll unshift in dem fall auf deutsch heissen ? was macht die funktion ?</p>
<p>danke</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511652</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Sat, 15 Oct 2016 10:27:48 GMT</pubDate></item><item><title><![CDATA[Reply to unshift function im codecvt-facet on Mon, 17 Oct 2016 11:43:14 GMT]]></title><description><![CDATA[<p>Hallo Meep Meep,</p>
<p>'unshift' heißt hier soviel wie 'mach es fest(unverrückbar)' oder lakser gesagt: 'mach es klar'.</p>
<p>Mal angenommen, das Zielformat in das die codecvt-Facette den Output umwandeln soll ist blockweise organisiert. Jeder Block enthalte am Ende noch 2 Byte. Das erste Byte sei die Anzahl der (gültigen) Bytes in dem Block und das zweite Byte ist eine Checksumme der (gültigen) Bytes. Jeder Block sei 10 Byte lang - also 8 Byte Nutzdaten und die eben beschriebenen zwei Bytes.<br />
Weiter mal angenommen, der ursprünglich Output seinen 77 Byte. Dann sind am Ende 9 vollständige Blöcke geschrieben worden und 5 Byte (77 mod 8 = 5) stehen auch schon im Zieldevice, aber der letzte Block ist noch unfertig.<br />
Dann wird der codecvt-Facette mit 'unshift' mitgeteilt, dass jetzt Schluss ist. Diese ist jetzt in der Lage die restlichen drei Bytes (z.B. 3x 0x00) in den Output zu schreiben um die Blockgröße herzustellen und anschließend eine 5 (für die Anzahl) und die Checksumme zu schreiben.<br />
Somit ist das Format jetzt abgeschlossen.</p>
<p>Daher ruft auch die Funktion <code>std::basic_filebuf::close</code> unshift auf, bevor ein File entgültig geschlossen wird.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2511827</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2511827</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Mon, 17 Oct 2016 11:43:14 GMT</pubDate></item></channel></rss>