<?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[Verwirrendes sizeof mit short-datentyp]]></title><description><![CDATA[<p>Hmm,<br />
wieso gibt sizeof für folgende Struktur die korrekte Länge zurück:</p>
<pre><code class="language-cpp">struct sBla
{
    int nWert;
    char cStr[124];
};
</code></pre>
<p>...nämlich 128 Byte, aber für diese Struktur nicht:</p>
<pre><code class="language-cpp">struct sVerwirrt
{
    short nWert1;
    int nWert2;
};
</code></pre>
<p>...nämlich angeblich 8 Byte <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="😮"
    /> Wie geht denn sowas? Und wie soll ich mit solchen Strukturen umgehen? Bin leider darauf angewiesen, ich lese hier irgendwelche kryptischen, fremden Binärdateien aus <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200748/verwirrendes-sizeof-mit-short-datentyp</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 03:09:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200748.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Dec 2007 11:47:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 11:47:16 GMT]]></title><description><![CDATA[<p>Hmm,<br />
wieso gibt sizeof für folgende Struktur die korrekte Länge zurück:</p>
<pre><code class="language-cpp">struct sBla
{
    int nWert;
    char cStr[124];
};
</code></pre>
<p>...nämlich 128 Byte, aber für diese Struktur nicht:</p>
<pre><code class="language-cpp">struct sVerwirrt
{
    short nWert1;
    int nWert2;
};
</code></pre>
<p>...nämlich angeblich 8 Byte <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="😮"
    /> Wie geht denn sowas? Und wie soll ich mit solchen Strukturen umgehen? Bin leider darauf angewiesen, ich lese hier irgendwelche kryptischen, fremden Binärdateien aus <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423089</guid><dc:creator><![CDATA[Cpp_Junky]]></dc:creator><pubDate>Wed, 19 Dec 2007 11:47:16 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 11:52:40 GMT]]></title><description><![CDATA[<p>Das liegt am &quot;Padding&quot;, das der Compiler einfügt - int-Werte lassen sich leichter verarbeiten, wenn ihre Adresse durch 4 teilbar ist, darum werden zwischen dem (2 Byte großen) nWert1 und nWert2 noch zwei Füllbytes reingequetscht.</p>
<p>(wenn du die Daten lückenlos benötigst, mußt du das Padding ausschalten - schau dich dazu mal nach der &quot;#pragma pack&quot; in der Compiler-Doku um)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423091</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 19 Dec 2007 11:52:40 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 11:55:15 GMT]]></title><description><![CDATA[<p>Die Größe eines short int hängt von Compiler/Plattform ab. Ebenso bei long. Es gibt nur Grenzen die vom Standard vorgegeben sind. Deswegen gibt es Typen wie int8 etc. Stehen glaube ich in sys/types.h</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423094</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 19 Dec 2007 11:55:15 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 11:56:03 GMT]]></title><description><![CDATA[<p>Kleine Zwischenfrage:<br />
Das bedeutet dann also, short wird, insofern das padding nicht abgeschaltet ist, gar nicht benötigt und man kann gleich int nehmen?</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423095</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Wed, 19 Dec 2007 11:56:03 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 11:58:35 GMT]]></title><description><![CDATA[<p>Wenn es dir ums Padding geht, dann ja. Ab normalerweise nimmt man doch die Datentypen, die man braucht. Will man short, nimmt man short.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423101</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423101</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Wed, 19 Dec 2007 11:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 12:00:43 GMT]]></title><description><![CDATA[<p>Dank euch schonmal. Nee, das &quot;Padding&quot; gilt dann wohl nur für Strukturen und sowas. sizeof(short) gibt auch weiterhin die &quot;klassischen&quot; 2 Byte zurück.<br />
Problematisch war das Ganze für mich halt nur, weil ich sowas mache:</p>
<pre><code class="language-cpp">MyFile.Read(&amp;Struktur, sizeof(strukturtyp));
</code></pre>
<p>Geht schön schnell, knallt aber super wenn dieses &quot;Padding&quot; eingreift <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="😃"
    /><br />
Ich werd mal versuchen das abzuschalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423103</guid><dc:creator><![CDATA[Cpp_Junky]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:00:43 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 12:01:37 GMT]]></title><description><![CDATA[<p>Naja, short belegt mit padding gleichviel Speicher wie int, nicht? Demnach kann man gleich auf short verzichten :|</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423104</guid><dc:creator><![CDATA[ceplusplus@loggedoff]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:01:37 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 12:05:11 GMT]]></title><description><![CDATA[<p>Ein <strong>#pragma pack (1)</strong> wird vermutlich helfen. Ein <strong>#pragma pack (pop)</strong> hinter dem struct dürfte das dann wieder normalisieren.</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;time.h&gt;

#pragma pack (1)
struct t{
    short x;
    int y;
};

int main(int argc, int **argv){

    printf(&quot;%i\n&quot;, sizeof(struct t));
}
</code></pre>
<p>zB liefert als Ausgabe 6.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423105</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:05:11 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 12:07:11 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/11030">@ceplusplus</a>: Nicht unbedingt - Wenn du keine größeren Datentypen in der Struktur hast, lohnt es sich nicht, dort Lücken zu füllen. Und ein <code>struct sPoint{short x,y;};</code> sollte auch nur die 4 Byte brauchen, die netto für die Unterbringung von 2 short-Werten nötig sind.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/559">@Cpp_Junky</a>: Du mußt die Struktur-Definition in &quot;#pragma pack&quot; einschließen, dann wird sie lückenlos angeordnet (die genaue Syntax hängt vom verwendeten Compiler ab, mußt du mal nachschlagen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423110</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:07:11 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 12:20:58 GMT]]></title><description><![CDATA[<p>Jo funktioniert, danke! <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>
<pre><code class="language-cpp">#pragma pack(1)

	struct sHeader
	{
	    char cStr[124];
	    int nOffset;
	};

	struct sEntry
	{
	    short nItemCount;
	    int nOffsetFirstItem;
	};

#pragma pack( )
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1423125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423125</guid><dc:creator><![CDATA[Cpp_Junky]]></dc:creator><pubDate>Wed, 19 Dec 2007 12:20:58 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 13:51:05 GMT]]></title><description><![CDATA[<p>Cpp_Junky schrieb:</p>
<blockquote>
<p>...<br />
Geht schön schnell, knallt aber super wenn dieses &quot;Padding&quot; eingreift...</p>
</blockquote>
<p>=&gt; Deswegen ist das &quot;Binärspeichern&quot; fast immer ein blöde Idee (oder sagen wir mal: Es gibt in 99,99% der Fälle bessere Lösungen.</p>
<p>Da Du allerdings die Daten bereits vorgeliefert bekommst</p>
<p>Cpp_Junky schrieb:</p>
<blockquote>
<p>...Bin leider darauf angewiesen, ich lese hier irgendwelche kryptischen, fremden Binärdateien aus ...Und wie soll ich mit solchen Strukturen umgehen?</p>
</blockquote>
<p>1.) Verpass', demjenigen, der das verbockt hat eine kräftige Abreibung.<br />
2.) Mach denselben Fehler nicht nochmal beim Einlesen !!!</p>
<p>Merke Dir und verinnerliche: Das binäre Format von C++-Variablen im Speicher ist unspezifiziert !!!<br />
Daraus folgt auch, dass Dir mit irgendwelchen Compilerschaltern/Pragmas/... nur kurzfristig weitergeholfen ist (Wer sagt denn, dass der &quot;Schreiber&quot; alles Padding abgeschaltet hat ?)</p>
<p>Mein Tipp: Analysiere die vorkommenden Datenstrukturen und fülle dann sauber Feld für Feld - byteweise !</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423235</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 19 Dec 2007 13:51:05 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 14:09:28 GMT]]></title><description><![CDATA[<p>Oder nimm <strong>Ada</strong>. Das ist für so etwas am besten geeignet. So gräßlich die Sprache auch sonst sein mag, wenn man von C++ aus da drauf schaut. <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/1423256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423256</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 19 Dec 2007 14:09:28 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 18:15:45 GMT]]></title><description><![CDATA[<p>Binäre Datenformate sind volle Kanne super! <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><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/1423369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423369</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 19 Dec 2007 18:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 18:35:51 GMT]]></title><description><![CDATA[<p>An binären Datenformaten ist wenig auszusetzen (siehe z.B. MPEG), wenn sie sauber spezifiziert sind. Man sollte halt nur nicht structs drübermappen, es seidenn man kann mit bitgenauen Typen und ohne Padding arbeiten <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/1423379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423379</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 19 Dec 2007 18:35:51 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Wed, 19 Dec 2007 22:21:59 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Binäre Datenformate ...</p>
</blockquote>
<p>LordJaxom schrieb:</p>
<blockquote>
<p>...binären Datenformaten ...</p>
</blockquote>
<p>Naja, davon habe ich ja auch nicht gesprochen, sondern von</p>
<p>Simon2 schrieb:</p>
<blockquote>
<p>...Das binäre Format von C++-Variablen im Speicher ...</p>
</blockquote>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423493</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 19 Dec 2007 22:21:59 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Thu, 20 Dec 2007 07:49:04 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>...<br />
1.) Verpass', demjenigen, der das verbockt hat eine kräftige Abreibung.<br />
2.) Mach denselben Fehler nicht nochmal beim Einlesen !!!<br />
...</p>
</blockquote>
<p>Die Dateien sind anno 1995, der Typ ist längst über alle Berge <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>
<blockquote>
<p>Binäre Datenformate sind volle Kanne super! <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>Binärdateien finde ich sehr viel eleganter als so eine ASCII Grütze a la XML o.ä., wo die halbe Datei aus Tags besteht und nach dem Einlesen noch geparsed werden muss. Binär musst du lediglich die passenden Speicher bereitstellen und kannst das Zeug in einem Rutsch einlesen. Problematisch ist halt das Handling der Datentypen und das Design des Dateiformats.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423568</guid><dc:creator><![CDATA[Cpp_Junky]]></dc:creator><pubDate>Thu, 20 Dec 2007 07:49:04 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Thu, 20 Dec 2007 09:27:00 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Cpp_Junky schrieb:</p>
<blockquote>
<p>...<br />
Die Dateien sind anno 1995, der Typ ist längst über alle Berge :D...</p>
</blockquote>
<p>Der weiß schon, warum <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="😉"
    /><br />
Fairerweise muss man sagen, dass derlei Frickeleien vor 12 Jahren noch ziemlich &quot;angesagt&quot; und normal waren ... die Langzeitfolgen hat man eben erst später kennngelernt. Da hat man in den letzten 12 Jahren seeeehr viel dazugelernt.</p>
<p>Wie schon gesagt: Du bist der lebende Beweis dafür, dass das eine schlechte Idee war.</p>
<p>Cpp_Junky schrieb:</p>
<blockquote>
<p>...<br />
Binärdateien finde ich sehr viel eleganter als so eine ASCII Grütze a la XML o.ä., wo die halbe Datei aus Tags besteht und nach dem Einlesen noch geparsed werden muss. Binär musst du lediglich die passenden Speicher bereitstellen und kannst das Zeug in einem Rutsch einlesen. Problematisch ist halt das Handling der Datentypen und das Design des Dateiformats.</p>
</blockquote>
<p>nochmal: Ich habe nicht von &quot;ASCII&quot; gesprochen ... aber Dein Problem ist anscheinend die unrealistische Priorisierung. Dein obiges Argument klingt wie<br />
&quot;Scheiß mit Reis ist einfach elegant ... ein wenig problematisch ist halt der Geschmack&quot; <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>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423612</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 20 Dec 2007 09:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Thu, 20 Dec 2007 10:40:59 GMT]]></title><description><![CDATA[<p>Ich versteh eure Binär-Angst nicht. Das erste Mal als ich sowas probiert habe, hab ich einen Loader für Quake2 Models geschrieben (MD2 Format) und hatte null Probleme damit. Wohl auch, weil Herr Carmack oder wer auch immer, sich da etwas mehr Gedanken drüber sein Dateiformat gemacht hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423654</guid><dc:creator><![CDATA[Cpp_Junky]]></dc:creator><pubDate>Thu, 20 Dec 2007 10:40:59 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Thu, 20 Dec 2007 10:42:24 GMT]]></title><description><![CDATA[<p>Einfach nur mit binären Dingen arbeiten, für jedes Dateiformat eine kleine Lib die sich um das Laden und Speichern kümmert, inklusive Versionsnummer in der Datei und einer Funktion zum Export in ASCII, falls mal der Quellcode verlorengeht oder schlimmeres. Hatte da auch noch nie Probleme.</p>
<p>XML hingegen ist der Tod der Intelligenz und Performanz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423658</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 20 Dec 2007 10:42:24 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Thu, 20 Dec 2007 10:57:49 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Einfach nur mit binären Dingen arbeiten, für jedes Dateiformat eine kleine Lib die sich um das Laden und Speichern kümmert, inklusive Versionsnummer in der Datei und einer Funktion zum Export in ASCII, falls mal der Quellcode verlorengeht oder schlimmeres. Hatte da auch noch nie Probleme.</p>
</blockquote>
<p>Wenn du ein klar definiertes Format für die Binärdaten hast, ist das auch kein Problem. Allerdings hängt das interne Datenformat der C-Typen von zu vielen Faktoren ab, um da brauchbar zu sein.</p>
<p>(der Unterschied fällt allerdings erst auf, wenn du versuchst, deine Binärdateien in einem anderen System wieder einzulesen)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423666</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 20 Dec 2007 10:57:49 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Thu, 20 Dec 2007 11:01:10 GMT]]></title><description><![CDATA[<p>Einfach keine Structs verwenden, sondern char-Arrays und Offsets und void-Pointern. <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/1423669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423669</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 20 Dec 2007 11:01:10 GMT</pubDate></item><item><title><![CDATA[Reply to Verwirrendes sizeof mit short-datentyp on Thu, 20 Dec 2007 11:51:16 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Einfach keine Structs verwenden, sondern char-Arrays und Offsets und void-Pointern. <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>
</blockquote>
<p>Na ... auf Maschinen mit unterschiedlichen Wortlängen, Zeichensätzen oder Endian-Formaten reicht das aber auch nicht....<br />
Aber es ist schon ein erster Schritt hin zu einem eigenen Dateiformat (von dem niemand hier behauptet hat, es müsse &quot;lesbar&quot; sein).</p>
<p>Cpp_Junky schrieb:</p>
<blockquote>
<p>Ich versteh eure Binär-Angst nicht....</p>
</blockquote>
<p>Wen meinst Du denn mit &quot;ihr&quot; ? und wo siehst Du denn hier &quot;Binärangst&quot; ? <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 />
Ich verstehe übrigens Deine &quot;Binär-Liebe&quot; nicht ... deren Zahnabdrücke in Deinem Hinterteil immer noch deutlich sichtbar sind. :p <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>
<p>Letztlich hat CStoll es (wieder mal) schön auf den PUnkt gebracht:</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>...Wenn du ein klar definiertes Format für die Binärdaten hast, ist das auch kein Problem. Allerdings hängt das interne Datenformat der C-Typen von zu vielen Faktoren ab, um da brauchbar zu sein...</p>
</blockquote>
<p>... wobei es nicht nur bei &quot;unterschiedlichen Maschinen&quot; problematisch wird, sondern (wie bei Dir) andere Compiler(-versionen/-einstellungen) können auch schon reichen.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1423711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1423711</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 20 Dec 2007 11:51:16 GMT</pubDate></item></channel></rss>