<?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[eine Integervariable in einer char-Kette speichern]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich schreibe gerade mein eingenes FS und möchte jetzt in eine Zeichenkette<br />
auch Zahlvariablen abspeichern.<br />
Das mache ich so:</p>
<pre><code class="language-cpp">char *DataTable;
strcpy(DataTable,&quot;MainBoot&quot;); //8 Bytes für den Dateinamen
strcat(DataTable,(char *)1);  //4 Bytes für die Sektorennummer des Anfangs der Datei
strcat(DataTable,(char *)36); //4 Bytes für die Sektorennummer des Endes der datei
strcat(DataTable,(char *)14077);  //4 Bytes für die Dateigröße in Byte
                                  //20 Bytes pro eintrag
if(WriteSector(0,1300,1,DataTable)==0)printf(&quot;Error in writing filesystem!&quot;);
</code></pre>
<p>Leider kommt darauf eine Zugriffsverletzung-.-</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/159579/eine-integervariable-in-einer-char-kette-speichern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 15:25:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/159579.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Sep 2006 18:39:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to eine Integervariable in einer char-Kette speichern on Sat, 16 Sep 2006 18:39:16 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich schreibe gerade mein eingenes FS und möchte jetzt in eine Zeichenkette<br />
auch Zahlvariablen abspeichern.<br />
Das mache ich so:</p>
<pre><code class="language-cpp">char *DataTable;
strcpy(DataTable,&quot;MainBoot&quot;); //8 Bytes für den Dateinamen
strcat(DataTable,(char *)1);  //4 Bytes für die Sektorennummer des Anfangs der Datei
strcat(DataTable,(char *)36); //4 Bytes für die Sektorennummer des Endes der datei
strcat(DataTable,(char *)14077);  //4 Bytes für die Dateigröße in Byte
                                  //20 Bytes pro eintrag
if(WriteSector(0,1300,1,DataTable)==0)printf(&quot;Error in writing filesystem!&quot;);
</code></pre>
<p>Leider kommt darauf eine Zugriffsverletzung-.-</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138712</guid><dc:creator><![CDATA[GCoder]]></dc:creator><pubDate>Sat, 16 Sep 2006 18:39:16 GMT</pubDate></item><item><title><![CDATA[Reply to eine Integervariable in einer char-Kette speichern on Sat, 16 Sep 2006 18:42:46 GMT]]></title><description><![CDATA[<p>Den Speicher musst du natürlich vorher reservieren.</p>
<p>Und sowas ist Unsinn:</p>
<pre><code class="language-cpp">(char *)14077
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1138713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138713</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sat, 16 Sep 2006 18:42:46 GMT</pubDate></item><item><title><![CDATA[Reply to eine Integervariable in einer char-Kette speichern on Sat, 16 Sep 2006 18:57:42 GMT]]></title><description><![CDATA[<p>Och, ich hab da keine Ahnung...<br />
Ja, und wenn ich den Speicher vorher reserviere, wie soll ich nun meine Zahlen da reinbekommen?</p>
<p>Ich kann nicht einfach die Zahlen nach ASCII umwandeln und dann speichern (was auch völliger mist wär), da ich die Zahlen in meinem OS verwenden muss.<br />
Ich könnte die Zahlen höchstens ins BCD-Format umwandeln, was pure speicherverschwendung wäre...</p>
<p>So würde ich die Daten auch reinbekommen:</p>
<pre><code class="language-cpp">sprintf(DataTable,&quot;MainBoot%c%c%cFREE%c%c%c&quot;,2,36,14077,37,1299,1);
</code></pre>
<p>Nur sind das dann nur 8-Bit Zahlen, ich brauche 16 Bit, also 2 Zeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138721</guid><dc:creator><![CDATA[GCoder]]></dc:creator><pubDate>Sat, 16 Sep 2006 18:57:42 GMT</pubDate></item><item><title><![CDATA[Reply to eine Integervariable in einer char-Kette speichern on Sat, 16 Sep 2006 18:58:53 GMT]]></title><description><![CDATA[<p>Du solltest sowiso nicht mit Strings arbeiten sondern mit Bytepuffern (ohne Null am Ende).</p>
<pre><code class="language-cpp">dword sektor_start = 1;
memcpy( p, ( byte *)&amp;sektor_start, sizeof( unsigned long ) );
</code></pre>
<p>Allerdings ist das alles andere als C++. In C++ gibt es bessere Lösungswege.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1138726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1138726</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sat, 16 Sep 2006 18:58:53 GMT</pubDate></item></channel></rss>