<?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 - Dateilänge hat negativen Wert]]></title><description><![CDATA[<p>Hallo<br />
Ich benutzte Codegear RadStudio 2009<br />
und ich benutze in meinem Programm eine Funktion zum abspeichern und einlesen einer Datei. Ich nutze dafür ifstream.</p>
<p>Im Ersten Zeichen der Datei speichere ich die Länge meines &quot;Headers&quot; ab und diese Länge möchte ich dann auch wieder auslesen.</p>
<p>Bei bestimmten Datein bekomme ich jedoch einen negativen Wert dafür zurück, z.B. -91 , obwohl in der Datei als HEX A5 (165) steht?</p>
<pre><code class="language-cpp">int pos = 0;
// reading a complete binary file
  ifstream::pos_type len;
  char* buf;
  ifstream file(Dateiname.c_str(), ios::in|ios::binary|ios::ate);
  if (file.is_open())
  {
	len = file.tellg();
	buf = new char[len];
	file.seekg (0, ios::beg);
	file.read (buf, len);  //-91 steht auch hier bereits im ersten zeichen
	file.close();          //des Buffers?!
  }
  else
	return;
  int iLen;
  char str[256];
  char *pData;
  char* pString;

  iLen = (int)*buf;  // NEGATIVER WERT?!
  ...
</code></pre>
<p>Wenn ich 10 Dateien gespeichtert hab , habe ich 8 wo alles richtig läuft und 2 besondere bei denen ich einen Negativen Wert erhalte. Wie kann das sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/301171/ifstream-dateilänge-hat-negativen-wert</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 06:37:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301171.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 21 Mar 2012 10:00:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ifstream - Dateilänge hat negativen Wert on Wed, 21 Mar 2012 10:00:15 GMT]]></title><description><![CDATA[<p>Hallo<br />
Ich benutzte Codegear RadStudio 2009<br />
und ich benutze in meinem Programm eine Funktion zum abspeichern und einlesen einer Datei. Ich nutze dafür ifstream.</p>
<p>Im Ersten Zeichen der Datei speichere ich die Länge meines &quot;Headers&quot; ab und diese Länge möchte ich dann auch wieder auslesen.</p>
<p>Bei bestimmten Datein bekomme ich jedoch einen negativen Wert dafür zurück, z.B. -91 , obwohl in der Datei als HEX A5 (165) steht?</p>
<pre><code class="language-cpp">int pos = 0;
// reading a complete binary file
  ifstream::pos_type len;
  char* buf;
  ifstream file(Dateiname.c_str(), ios::in|ios::binary|ios::ate);
  if (file.is_open())
  {
	len = file.tellg();
	buf = new char[len];
	file.seekg (0, ios::beg);
	file.read (buf, len);  //-91 steht auch hier bereits im ersten zeichen
	file.close();          //des Buffers?!
  }
  else
	return;
  int iLen;
  char str[256];
  char *pData;
  char* pString;

  iLen = (int)*buf;  // NEGATIVER WERT?!
  ...
</code></pre>
<p>Wenn ich 10 Dateien gespeichtert hab , habe ich 8 wo alles richtig läuft und 2 besondere bei denen ich einen Negativen Wert erhalte. Wie kann das sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2193497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2193497</guid><dc:creator><![CDATA[aLeXanDer..]]></dc:creator><pubDate>Wed, 21 Mar 2012 10:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream - Dateilänge hat negativen Wert on Wed, 21 Mar 2012 10:03:06 GMT]]></title><description><![CDATA[<p>Abgesehen von new fails etc., mal daran gedacht, dass char nicht unsigned sein muss? <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2193499</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2193499</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 21 Mar 2012 10:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream - Dateilänge hat negativen Wert on Wed, 21 Mar 2012 10:18:06 GMT]]></title><description><![CDATA[<p>beim verwenden von unsigned statt int kommt statt der -91 , 123234323423432 als Wert,<br />
also eine unbeschreiblich größe zahlt halt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2193507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2193507</guid><dc:creator><![CDATA[aLeXanDer..]]></dc:creator><pubDate>Wed, 21 Mar 2012 10:18:06 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream - Dateilänge hat negativen Wert on Wed, 21 Mar 2012 11:11:52 GMT]]></title><description><![CDATA[<p>Fehler, beachtet nur das erste byte</p>
<pre><code class="language-cpp">iLen = (int)*buf;
</code></pre>
<p>Korrekt</p>
<pre><code class="language-cpp">iLen = *(int*)buf;
</code></pre>
<p>nimmt alle 4.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2193547</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2193547</guid><dc:creator><![CDATA[aLeXanDer..]]></dc:creator><pubDate>Wed, 21 Mar 2012 11:11:52 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream - Dateilänge hat negativen Wert on Wed, 21 Mar 2012 11:19:46 GMT]]></title><description><![CDATA[<p>aLeXanDer.. schrieb:</p>
<blockquote>
<p>Fehler, beachtet nur das erste byte</p>
<pre><code class="language-cpp">iLen = (int)*buf;
</code></pre>
<p>Korrekt</p>
<pre><code class="language-cpp">iLen = *(int*)buf;
</code></pre>
<p>nimmt alle 4.</p>
</blockquote>
<p>aLeXanDer.. schrieb:</p>
<blockquote>
<p>Im Ersten Zeichen der Datei</p>
</blockquote>
<p>Man sollte sein eigenes Format schon kennen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2193554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2193554</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Wed, 21 Mar 2012 11:19:46 GMT</pubDate></item><item><title><![CDATA[Reply to ifstream - Dateilänge hat negativen Wert on Wed, 21 Mar 2012 11:48:14 GMT]]></title><description><![CDATA[<p>Aus Fehlern lernt man :p<br />
Manchmal steht man am schlauch <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2193582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2193582</guid><dc:creator><![CDATA[aLeXanDer..]]></dc:creator><pubDate>Wed, 21 Mar 2012 11:48:14 GMT</pubDate></item></channel></rss>