<?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[char -&amp;gt; BSTR]]></title><description><![CDATA[<p>Hi nochmal,</p>
<p>ich suche eine Möglichkeit, in einer Schleife einen BSTR mit char's zu füllen.</p>
<p>Code -&gt;</p>
<pre><code class="language-cpp">BSTR bStr = NULL;
	char txt;

	ifstream ifs( of, ios::in | ios::binary );
	ifs.seekg(ios::beg);

    _bstr_t bstr(bStr);
	while( ifs.get( txt ) )
	{
		size_t alloc_len = strlen(&amp;txt) + 1;
		wchar_t* wc_out = new wchar_t[alloc_len];
		size_t result = mbstowcs(wc_out, &amp;txt, alloc_len);
		bstr += _bstr_t(wc_out);
	}
</code></pre>
<p>es geht darum, den Inhalt einer binären Datei in einen BSTR zu schieben.</p>
<p>Dateiinhalt: (31 '␟',139 '‹',8 '␈',0,0,0,0,0,0,11 '␋',221 'Ý',91 '[',125 '}',108 'l',20 '␔',199 'Ç',21 '␕',127 '',51 '3',123 '{',31 '␟',62 '&gt;',251 'û',252 'ü',129 '',57 '9',167 '§',180 '´',177 '±',195 'Ã',41 ')',64 '@',2 '␂',9 '␉',4 '␄',199 'Ç',34 '&quot;',77 'M',171 '«',136 'ˆ',10 '␊',10 '␊',54 '6',164 '¤',197 'Å',8 '␈',25 '␙',227 'ã',0,45 '-',...,...), Länge 2858</p>
<p>Inhalt von bstr: b = {&quot;ÌÌÌÌÌÌÌÌ‹ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÝÌÌÌÌÌÌÌÌ[ÌÌÌÌÌÌÌÌ}ÌÌÌÌÌÌ ...usw... (1)}, Länge = 25635 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Wo liegt der Fehler?</p>
<p>grüssle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181553/char-gt-bstr</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 21:15:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181553.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 15 May 2007 04:49:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to char -&amp;gt; BSTR on Tue, 15 May 2007 04:49:58 GMT]]></title><description><![CDATA[<p>Hi nochmal,</p>
<p>ich suche eine Möglichkeit, in einer Schleife einen BSTR mit char's zu füllen.</p>
<p>Code -&gt;</p>
<pre><code class="language-cpp">BSTR bStr = NULL;
	char txt;

	ifstream ifs( of, ios::in | ios::binary );
	ifs.seekg(ios::beg);

    _bstr_t bstr(bStr);
	while( ifs.get( txt ) )
	{
		size_t alloc_len = strlen(&amp;txt) + 1;
		wchar_t* wc_out = new wchar_t[alloc_len];
		size_t result = mbstowcs(wc_out, &amp;txt, alloc_len);
		bstr += _bstr_t(wc_out);
	}
</code></pre>
<p>es geht darum, den Inhalt einer binären Datei in einen BSTR zu schieben.</p>
<p>Dateiinhalt: (31 '␟',139 '‹',8 '␈',0,0,0,0,0,0,11 '␋',221 'Ý',91 '[',125 '}',108 'l',20 '␔',199 'Ç',21 '␕',127 '',51 '3',123 '{',31 '␟',62 '&gt;',251 'û',252 'ü',129 '',57 '9',167 '§',180 '´',177 '±',195 'Ã',41 ')',64 '@',2 '␂',9 '␉',4 '␄',199 'Ç',34 '&quot;',77 'M',171 '«',136 'ˆ',10 '␊',10 '␊',54 '6',164 '¤',197 'Å',8 '␈',25 '␙',227 'ã',0,45 '-',...,...), Länge 2858</p>
<p>Inhalt von bstr: b = {&quot;ÌÌÌÌÌÌÌÌ‹ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÝÌÌÌÌÌÌÌÌ[ÌÌÌÌÌÌÌÌ}ÌÌÌÌÌÌ ...usw... (1)}, Länge = 25635 <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>Wo liegt der Fehler?</p>
<p>grüssle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285021</guid><dc:creator><![CDATA[Smitty]]></dc:creator><pubDate>Tue, 15 May 2007 04:49:58 GMT</pubDate></item><item><title><![CDATA[Reply to char -&amp;gt; BSTR on Tue, 15 May 2007 05:11:47 GMT]]></title><description><![CDATA[<p>Smitty schrieb:</p>
<blockquote>
<p>Wo liegt der Fehler?</p>
</blockquote>
<p>Grundsätzlich darin, dass du strlen auf ein einzelnes char ansetzt. Was dabei rauskommt, ist undefiniert, und hängt wohl davon ab, was im Speicher dahinter steht.</p>
<p>Smitty schrieb:</p>
<blockquote>
<p>es geht darum, den Inhalt einer binären Datei in einen BSTR zu schieben.</p>
</blockquote>
<p>Klingt unsinnig. Warum tust du das überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285025</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 15 May 2007 05:11:47 GMT</pubDate></item><item><title><![CDATA[Reply to char -&amp;gt; BSTR on Tue, 15 May 2007 05:19:55 GMT]]></title><description><![CDATA[<p>MFK schrieb:</p>
<blockquote>
<p>Smitty schrieb:</p>
<blockquote>
<p>es geht darum, den Inhalt einer binären Datei in einen BSTR zu schieben.</p>
</blockquote>
<p>Klingt unsinnig. Warum tust du das überhaupt?</p>
</blockquote>
<p>Hast ja recht, ich seh's genauso <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> . Nur bin ich in diesem Fall nicht der, der die Entscheidungen trifft ...</p>
<p>Ok, warum tue ich das?! Es geht im Grunde darum, eine mit ZLIB komprimierte Grafikdatei zwecks Umwandlung in Base64( &gt; Ziel ist XML Datei ) in einen String zu stellen. CString is nich, da der bei der ersten 0 das Kopieren beendet.<br />
BSTR kanns.</p>
<p>Sollte jmd. eine bessere / performantere / einfachere / ... Lösung kennen, dann immer her damit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
<p>grüssle <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285026</guid><dc:creator><![CDATA[Smitty]]></dc:creator><pubDate>Tue, 15 May 2007 05:19:55 GMT</pubDate></item><item><title><![CDATA[Reply to char -&amp;gt; BSTR on Tue, 15 May 2007 05:49:04 GMT]]></title><description><![CDATA[<p>Smitty schrieb:</p>
<blockquote>
<p>Es geht im Grunde darum, eine mit ZLIB komprimierte Grafikdatei zwecks Umwandlung in Base64( &gt; Ziel ist XML Datei ) in einen String zu stellen.</p>
</blockquote>
<p>Warum ein String? Hast du eine Umwandlungsfunktion, die wirklich einen String für die Eingabedaten braucht? Die sind ja üblicherweise binär, da ist ein Stringtyp wenig sinnvoll, ein Wide-Character-String noch weniger.</p>
<p>Base64Encode aus der ATL will übrigens die Eingabedaten als BYTE-Zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285032</guid><dc:creator><![CDATA[MFK]]></dc:creator><pubDate>Tue, 15 May 2007 05:49:04 GMT</pubDate></item><item><title><![CDATA[Reply to char -&amp;gt; BSTR on Tue, 15 May 2007 07:27:36 GMT]]></title><description><![CDATA[<p>Smitty schrieb:</p>
<blockquote>
<p>CString is nich, da der bei der ersten 0 das Kopieren beendet.<br />
BSTR kanns.</p>
</blockquote>
<p>Stimmt nicht. Das hängt davon ab wie du es machst und welche operatoren Du verwendest.</p>
<p>Aber weder BSTR noch ein CString sind geeignet für binäre Daten.</p>
<p>Wie soll den der BSTR die Daten halten ein BYTE pro wchar_t, welches ja bekanntlich 16bit hat? Oder willst Du das Binary immer WORD weise nach BSTR packen.<br />
Wa sist wenn die Datenmenge eine ungerade Anazhl Bytes hat?</p>
<p>Smitty schrieb:</p>
<blockquote>
<p>Sollte jmd. eine bessere / performantere / einfachere / ... Lösung kennen, dann immer her damit <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
</blockquote>
<p>Nimm einen BYTE Buffer oder einen SafeArray mit BYTEs oder oder oder...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1285090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285090</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 15 May 2007 07:27:36 GMT</pubDate></item><item><title><![CDATA[Reply to char -&amp;gt; BSTR on Tue, 15 May 2007 08:03:50 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::vector&lt;byte&gt; vContent;
std::ifstream file(pcFileName, std::ios_base::binary);
if(file.is_open())
    std::copy(std::istreambuf_iterator&lt;char&gt;(file), std::istreambuf_iterator&lt;char&gt;(), std::back_inserter(vContent));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1285124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1285124</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Tue, 15 May 2007 08:03:50 GMT</pubDate></item></channel></rss>