<?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[ifstream -&amp;gt; Datei wird nicht vollständig eingelesen]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein kleines Problem das ich nicht ganz nachvollziehen kann. Ich möchte gerne eine Datei komplett in den Speicher lesen um dann die Daten weiter zu verarbeiten. Allerdings wird die Datei nicht vollständig eingelesen, sondern nur die ersten drei Byte. Das merkwürdige ist, dass ich diese Methode benutze um einen anderen Dateityp einzulesen (Code ist identisch) was ohne Probleme funktioniert.</p>
<pre><code>std::ifstream inputFileStream;
inputFileStream.open(path, std::ios_base::in | std::ios_base::binary);

if(inputFileStream.good())
{
	long fileSize;
	char* inputPuffer;

	inputFileStream.seekg(0, std::ios::end);
fileSize = inputFileStream.tellg();
		inputPuffer = new char[fileSize];
		inputFileStream.seekg(0, std::ios::beg);
		inputFileStream.read(inputPuffer, fileSize);
		inputFileStream.close();
		std::string s(inputPuffer);
		std::stringstream inputRunner(s);
</code></pre>
<p>fileSize enthält im vorliegenden Fall den Wert 196662. Im String stehen aber nur drei Byte. Diesen Fehler kann ich leider nicht nachvollziehen, da diese Art des Einlesens an anderer Stelle funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/312070/ifstream-gt-datei-wird-nicht-vollständig-eingelesen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 03:49:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/312070.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 23 Dec 2012 10:32:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 10:32:43 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe ein kleines Problem das ich nicht ganz nachvollziehen kann. Ich möchte gerne eine Datei komplett in den Speicher lesen um dann die Daten weiter zu verarbeiten. Allerdings wird die Datei nicht vollständig eingelesen, sondern nur die ersten drei Byte. Das merkwürdige ist, dass ich diese Methode benutze um einen anderen Dateityp einzulesen (Code ist identisch) was ohne Probleme funktioniert.</p>
<pre><code>std::ifstream inputFileStream;
inputFileStream.open(path, std::ios_base::in | std::ios_base::binary);

if(inputFileStream.good())
{
	long fileSize;
	char* inputPuffer;

	inputFileStream.seekg(0, std::ios::end);
fileSize = inputFileStream.tellg();
		inputPuffer = new char[fileSize];
		inputFileStream.seekg(0, std::ios::beg);
		inputFileStream.read(inputPuffer, fileSize);
		inputFileStream.close();
		std::string s(inputPuffer);
		std::stringstream inputRunner(s);
</code></pre>
<p>fileSize enthält im vorliegenden Fall den Wert 196662. Im String stehen aber nur drei Byte. Diesen Fehler kann ich leider nicht nachvollziehen, da diese Art des Einlesens an anderer Stelle funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282569</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282569</guid><dc:creator><![CDATA[aptem]]></dc:creator><pubDate>Sun, 23 Dec 2012 10:32:43 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 10:50:52 GMT]]></title><description><![CDATA[<p>ist sicher eine Unicode Datei und da schleicht sich dann eine null ein.</p>
<p>greetz KN4CK3R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282576</guid><dc:creator><![CDATA[KN4CK3R]]></dc:creator><pubDate>Sun, 23 Dec 2012 10:50:52 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 10:54:08 GMT]]></title><description><![CDATA[<p>Ist eine BMP-Datei. Zählt das zu Unicode?? Ich glaube das ist eine reine Binärdatei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282577</guid><dc:creator><![CDATA[aptem]]></dc:creator><pubDate>Sun, 23 Dec 2012 10:54:08 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 10:56:59 GMT]]></title><description><![CDATA[<p>Eben drum kann da auch irgendwo eine (mehrere) 0 drin sein ...<br />
und dann ist für:</p>
<pre><code>std::string s(inputPuffer);
</code></pre>
<p>bei dieser 0 der C-String (inputPuffer) eben zu Ende.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282578</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Sun, 23 Dec 2012 10:56:59 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 10:59:29 GMT]]></title><description><![CDATA[<p>Nullen sind da aufjedenfall viele. Wie kann ich dieses Problem umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282579</guid><dc:creator><![CDATA[aptem]]></dc:creator><pubDate>Sun, 23 Dec 2012 10:59:29 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 11:02:30 GMT]]></title><description><![CDATA[<p>Eventuell kriegst Du alles in den string mit:</p>
<pre><code>std::string s(inputPuffer, fileSize);
//Test:
cout &lt;&lt; s.size();
</code></pre>
<p>Wahrscheinlich ist aber in diesem Fall, dass vector&lt;char&gt; der passendere Datentyp für Deine Datei ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282580</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Sun, 23 Dec 2012 11:02:30 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 11:04:03 GMT]]></title><description><![CDATA[<p>Funktioniert!! Ich danke dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282582</guid><dc:creator><![CDATA[aptem]]></dc:creator><pubDate>Sun, 23 Dec 2012 11:04:03 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 11:04:07 GMT]]></title><description><![CDATA[<p>die Frage ist eher warum du ein BILD in einen STRING speichern willst.</p>
<p>greetz KN4CK3R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2282583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282583</guid><dc:creator><![CDATA[KN4CK3R]]></dc:creator><pubDate>Sun, 23 Dec 2012 11:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream -&amp;gt; Datei wird nicht vollständig eingelesen on Sun, 23 Dec 2012 11:28:43 GMT]]></title><description><![CDATA[<p>Das habe ich mich auch gefragt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Und statt dem &quot;new char[]&quot; solltest du besser std::array&lt;&gt;oder std::vector&lt;&gt; benutzen.</p>
<p>Aber wofür benötigst du denn überhaupt den std::stringstream? Du hast doch den std::ifstream.<br />
Also welchen genauen Grund gibt es hierfür:</p>
<p>aptem schrieb:</p>
<blockquote>
<p>Ich möchte gerne eine Datei komplett in den Speicher lesen um dann die Daten weiter zu verarbeiten.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2282589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2282589</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Sun, 23 Dec 2012 11:28:43 GMT</pubDate></item></channel></rss>