<?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[FileStreams, wurde hier nicht nachgedacht?]]></title><description><![CDATA[<p>Hi,</p>
<p>mir ist des öfteren etwas sehr interessantes und SEHR nerviges aufgefallen:</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">std::basic_ofstream&lt;char&gt; foobar (&quot;test.txt&quot;); // &lt;&lt; geht perfekt

std::basic_ofstream&lt;wchar_t&gt; foobar2 (L&quot;test.txt&quot;); // Geht nicht, char* wird erwartet
</code></pre>
<p>Auch wenn ich die typedefs für wchar_t benutze, selbes ergebnis. Zum öffnen einer Datei muss ich immer char* angeben, wchar_t* geht jedoch nicht.</p>
<p>Hat das eine speziellen Grund oder wurde dort irgendie nicht vorausgedacht/geschlampt/vermurkst/oder sonst was? Ist auf jedenfall sehr störend.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/122966/filestreams-wurde-hier-nicht-nachgedacht</link><generator>RSS for Node</generator><lastBuildDate>Sun, 23 Aug 2026 10:34:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/122966.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Oct 2005 19:21:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:21:05 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>mir ist des öfteren etwas sehr interessantes und SEHR nerviges aufgefallen:</p>
<p>Beispiel:</p>
<pre><code class="language-cpp">std::basic_ofstream&lt;char&gt; foobar (&quot;test.txt&quot;); // &lt;&lt; geht perfekt

std::basic_ofstream&lt;wchar_t&gt; foobar2 (L&quot;test.txt&quot;); // Geht nicht, char* wird erwartet
</code></pre>
<p>Auch wenn ich die typedefs für wchar_t benutze, selbes ergebnis. Zum öffnen einer Datei muss ich immer char* angeben, wchar_t* geht jedoch nicht.</p>
<p>Hat das eine speziellen Grund oder wurde dort irgendie nicht vorausgedacht/geschlampt/vermurkst/oder sonst was? Ist auf jedenfall sehr störend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889964</guid><dc:creator><![CDATA[Patrick]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:21:05 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:27:54 GMT]]></title><description><![CDATA[<p>Einerseits sind unicode und stl 2 schuhe, die nicht wirklich zusammenpassen. Andererseits müsste die korrekte instanzierung imho</p>
<pre><code class="language-cpp">std::basic_ofstream&lt;wchar_t,std::char_traits&lt;wchar_t&gt; &gt; foobar2 (L&quot;test.txt&quot;);
</code></pre>
<p>heißen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889970</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889970</guid><dc:creator><![CDATA[ness]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:27:54 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:41:16 GMT]]></title><description><![CDATA[<p>Das Problem liegt nicht an der Instanzierung sondern der Tatsache, dass als Parameter const char* hardcodiert ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/889995</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/889995</guid><dc:creator><![CDATA[User---]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:41:16 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:46:29 GMT]]></title><description><![CDATA[<p><strong>ness</strong><br />
Die Instanzierung ist doch furz wie deckel wenn man sich den 2. Defaulttemplateparameter anguckt. User-- spricht das Thema richtig an:</p>
<pre><code class="language-cpp">std::basic_ofstream&lt;wchar_t,std::char_traits&lt;wchar_t&gt; &gt; foobar2 (L&quot;test.txt&quot;);

// bewirkt das selbe wie

std::basic_ofstream&lt;wchar_t&gt; foobar2 (L&quot;test.txt&quot;);

// -------------

main.cpp(28): error C2664: 'std::basic_ofstream&lt;_Elem,_Traits&gt;::basic_ofstream(const char *,std::_Iosb&lt;_Dummy&gt;::openmode)' : cannot convert parameter 1 from 'unsigned short [9]' to 'const char *'
        with
        [
            _Elem=wchar_t,
            _Traits=std::char_traits&lt;wchar_t&gt;,
            _Dummy=int
        ]
        Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
</code></pre>
<p>Ich weiß auch das die STL für unicode (leider) nie vorgesehen war, deshalb hab ich mir auch einen Teil selbst gecodet dafür, jedoch find ich das schon ärgerlich, das ich für unicode nicht die FileStreams richtig benutzen kann sondern auf API Funktionen von Linux und Windows zurückgreifen muss.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890000</guid><dc:creator><![CDATA[Patrick]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:49:34 GMT]]></title><description><![CDATA[<p>Benutzt du den gcc? Da hatt ich auch letztens Probleme. Mit VC funktionierts allerdings.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890004</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890004</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:49:34 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:54:31 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Benutzt du den gcc? Da hatt ich auch letztens Probleme. Mit VC funktionierts allerdings.</p>
</blockquote>
<p>Auf der Arbeit benutz ich VC++7.0 und den GCC, zuhause den aktuellen DevC++ und VC++7.0 und auf keinem läuft dies <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/890013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890013</guid><dc:creator><![CDATA[Patrick]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:54:31 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:57:49 GMT]]></title><description><![CDATA[<p>noch nicht mit unicode und streams gearbeitet (deswegen rate ich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ), aber beim durchsehen der header habe ich festgestellt das um das wchar_t zu aktivieren du GLIBCXX_USE_WCHAR_T definiert haben musst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890015</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890015</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 19:59:21 GMT]]></title><description><![CDATA[<p>miller_m schrieb:</p>
<blockquote>
<p>noch nicht mit unicode und streams gearbeitet (deswegen rate ich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> ), aber beim durchsehen der header habe ich festgestellt das um das wchar_t zu aktivieren du GLIBCXX_USE_WCHAR_T definiert haben musst.</p>
</blockquote>
<p>Welcher Compiler? Bei VC++7 geht da nix und beim DevCp das selbe ergebnis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890018</guid><dc:creator><![CDATA[Patrick]]></dc:creator><pubDate>Tue, 11 Oct 2005 19:59:21 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 20:05:22 GMT]]></title><description><![CDATA[<p>gcc 4.0.1</p>
<p>[edit]<br />
bei 3.3 ist es _GLIBCPP_USE_WCHAR_T</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890023</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890023</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 11 Oct 2005 20:05:22 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 20:37:39 GMT]]></title><description><![CDATA[<p>nur fällt man damit übelst auf die schnauze, weil der gcc bisher noch keine spezialisierungen auf wchar_t mitliefert. dieses makro ist also ein in die zukunft weisendes.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890047</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Tue, 11 Oct 2005 20:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 20:42:13 GMT]]></title><description><![CDATA[<p>otze schrieb:</p>
<blockquote>
<p>nur fällt man damit übelst auf die schnauze, weil der gcc bisher noch keine spezialisierungen auf wchar_t mitliefert. dieses makro ist also ein in die zukunft weisendes.</p>
</blockquote>
<p>das char trait ist aber schon spezialsiert, oder meinst du etwas anderes?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890056</guid><dc:creator><![CDATA[miller_m]]></dc:creator><pubDate>Tue, 11 Oct 2005 20:42:13 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Tue, 11 Oct 2005 20:46:31 GMT]]></title><description><![CDATA[<p>miller_m schrieb:</p>
<blockquote>
<p>otze schrieb:</p>
<blockquote>
<p>nur fällt man damit übelst auf die schnauze, weil der gcc bisher noch keine spezialisierungen auf wchar_t mitliefert. dieses makro ist also ein in die zukunft weisendes.</p>
</blockquote>
<p>das char trait ist aber schon spezialsiert, oder meinst du etwas anderes?</p>
</blockquote>
<p>ein Beispiel: locales(und btw: bei mir hat die lib des gcc nichtmal char_traits&lt;wchar_t&gt; spezialisiert...). nächstes beispiel: buffer für wcout/wcin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890061</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890061</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Tue, 11 Oct 2005 20:46:31 GMT</pubDate></item><item><title><![CDATA[Reply to FileStreams, wurde hier nicht nachgedacht? on Wed, 12 Oct 2005 15:22:46 GMT]]></title><description><![CDATA[<p>sieht doch so aus als ob nicht nachgedacht wurde bzw. nicht &quot;international&quot; gedacht. Schade, richtig schade</p>
]]></description><link>https://www.c-plusplus.net/forum/post/890762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/890762</guid><dc:creator><![CDATA[&#x27;&#x27;]]></dc:creator><pubDate>Wed, 12 Oct 2005 15:22:46 GMT</pubDate></item></channel></rss>