<?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[Kompletten Inhalt einer Datei in einen std::wstring schreiben]]></title><description><![CDATA[<p>Abend,</p>
<p>ich nehme wchar_t, weil meine Datei Umlaute enthält. Beispiel:</p>
<pre><code class="language-cpp">Häuser
öffentlich
über
</code></pre>
<p>Im Moment lese ich die komplette Datei Zeichen für Zeichen aus.</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;
using namespace std;

int main()
{
	wifstream file(&quot;test.txt&quot;,ios_base::binary);
	wstring wstr;
	for(wchar_t c; file&gt;&gt;noskipws&gt;&gt;c; wstr+=c);

	// ...
}
</code></pre>
<p>Das zeichenweise Auslesen gefällt mir nicht. Darum dachte ich, ich versuches mit einem <code>istream_iterator</code> :</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;
using namespace std;

int main()
{
	wifstream file(&quot;test.txt&quot;,ios_base::binary);
	istream_iterator&lt;wchar_t&gt; start(file); // Kein Konstruktor für wifstream
}
</code></pre>
<p>Allerdings fiel mir dann auf, dass es <code>istream_iterator wchar_t</code> nich unterstützt bzw. es einen wistream_iterator nicht gibt. Gibt es denn eine Lösung, damit man alles in einem Rutsch einlesen kann?</p>
<p>Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302020/kompletten-inhalt-einer-datei-in-einen-std-wstring-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 17:17:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302020.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Apr 2012 15:52:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kompletten Inhalt einer Datei in einen std::wstring schreiben on Mon, 09 Apr 2012 15:52:42 GMT]]></title><description><![CDATA[<p>Abend,</p>
<p>ich nehme wchar_t, weil meine Datei Umlaute enthält. Beispiel:</p>
<pre><code class="language-cpp">Häuser
öffentlich
über
</code></pre>
<p>Im Moment lese ich die komplette Datei Zeichen für Zeichen aus.</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;
using namespace std;

int main()
{
	wifstream file(&quot;test.txt&quot;,ios_base::binary);
	wstring wstr;
	for(wchar_t c; file&gt;&gt;noskipws&gt;&gt;c; wstr+=c);

	// ...
}
</code></pre>
<p>Das zeichenweise Auslesen gefällt mir nicht. Darum dachte ich, ich versuches mit einem <code>istream_iterator</code> :</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;iterator&gt;
using namespace std;

int main()
{
	wifstream file(&quot;test.txt&quot;,ios_base::binary);
	istream_iterator&lt;wchar_t&gt; start(file); // Kein Konstruktor für wifstream
}
</code></pre>
<p>Allerdings fiel mir dann auf, dass es <code>istream_iterator wchar_t</code> nich unterstützt bzw. es einen wistream_iterator nicht gibt. Gibt es denn eine Lösung, damit man alles in einem Rutsch einlesen kann?</p>
<p>Danke im Voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200214</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 09 Apr 2012 15:52:42 GMT</pubDate></item><item><title><![CDATA[Reply to Kompletten Inhalt einer Datei in einen std::wstring schreiben on Mon, 09 Apr 2012 15:57:02 GMT]]></title><description><![CDATA[<p><code>istream_iterator</code> hat einen 2. Parameter für CharT des unterliegenden Streams. Also sollte <code>istream_iterator&lt;wchar_t, wchar_t&gt;</code> klappen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200216</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Mon, 09 Apr 2012 15:57:02 GMT</pubDate></item><item><title><![CDATA[Reply to Kompletten Inhalt einer Datei in einen std::wstring schreiben on Mon, 09 Apr 2012 16:06:19 GMT]]></title><description><![CDATA[<p>ipsec schrieb:</p>
<blockquote>
<p><code>istream_iterator</code> hat einen 2. Parameter für CharT des unterliegenden Streams. Also sollte <code>istream_iterator&lt;wchar_t, wchar_t&gt;</code> klappen.</p>
</blockquote>
<p>Ah, danke dir. <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>
<p>Und hier noch die Lösung für diejenigen, die vielleicht mal auf dasselbe Problem stoßen:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;iterator&gt;
#include &lt;string&gt;

int main()
{
	std::wifstream file(&quot;test.txt&quot;,std::ios_base::binary);

	std::istream_iterator&lt;wchar_t,wchar_t&gt; begin(file&gt;&gt;std::noskipws);
	std::istream_iterator&lt;wchar_t,wchar_t&gt; end;

	std::wstring content(begin,end);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2200219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200219</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 09 Apr 2012 16:06:19 GMT</pubDate></item></channel></rss>