<?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[In Datei schreiben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem, ich rufe mehrmals in meinem Programm die Routine auf, die Daten in eine Binärdatei schreibt. Beim ersten mal, erfolgt alles, wie ich gern hätte, aber schon ab dem zweiten mal, werden die Daten nicht in die Datei reingeschrieben. Und ich kann mir nicht erklären warum.<br />
Ich bitte um Erklärung.</p>
<p>PS: mein code</p>
<p>void CName::OnOk()<br />
{<br />
UpdateData();<br />
CRateMalApp *app = (CRateMalApp*)AfxGetApp();</p>
<p>//app-&gt;dlg.versuche;</p>
<p>FILE *higthscore;</p>
<p>higthscore =fopen (&quot;Higthscore.dat&quot;,&quot;a&quot;);</p>
<p>if(higthscore)<br />
{<br />
fwrite(m_strName,m_strName.GetLength(),sizeof(char),higthscore);<br />
fwrite(&amp;(app-&gt;dlg-&gt;versuche),sizeof(int),1,higthscore);<br />
}</p>
<p>fclose(higthscore);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/137957/in-datei-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 00:44:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137957.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Feb 2006 10:07:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 10:07:07 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe ein Problem, ich rufe mehrmals in meinem Programm die Routine auf, die Daten in eine Binärdatei schreibt. Beim ersten mal, erfolgt alles, wie ich gern hätte, aber schon ab dem zweiten mal, werden die Daten nicht in die Datei reingeschrieben. Und ich kann mir nicht erklären warum.<br />
Ich bitte um Erklärung.</p>
<p>PS: mein code</p>
<p>void CName::OnOk()<br />
{<br />
UpdateData();<br />
CRateMalApp *app = (CRateMalApp*)AfxGetApp();</p>
<p>//app-&gt;dlg.versuche;</p>
<p>FILE *higthscore;</p>
<p>higthscore =fopen (&quot;Higthscore.dat&quot;,&quot;a&quot;);</p>
<p>if(higthscore)<br />
{<br />
fwrite(m_strName,m_strName.GetLength(),sizeof(char),higthscore);<br />
fwrite(&amp;(app-&gt;dlg-&gt;versuche),sizeof(int),1,higthscore);<br />
}</p>
<p>fclose(higthscore);<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/999984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999984</guid><dc:creator><![CDATA[Gast0000]]></dc:creator><pubDate>Wed, 22 Feb 2006 10:07:07 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 10:13:09 GMT]]></title><description><![CDATA[<p>Erstens: Wenn du mit C++ arbeitest, sind fstreams wahrscheinlich praktischer in der Handhabung als FILE* (oder für die MFC: CFile).</p>
<p>Zweitens: Du solltest mal nachsehen, ob beim zweiten Durchlauf das File überhaupt geöffnet werden konnte. (setz' einen else-Zweig zu dem if(), da kannst du eine Fehlemeldung ausgeben)</p>
<p>PS: und HighScore schreibt man ohne 't' <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/999985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/999985</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 22 Feb 2006 10:13:09 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 10:50:48 GMT]]></title><description><![CDATA[<p>tja, ich habe deinen Rat befolgt und einen else zweig eingefügt, aber dieser wird auch nicht angesprungen....</p>
<p>Wenn noch jemand ne Idee hat! Also vom logischen stimmt meine if-anweisung nicht, da sonst alles so funktioniert, wie es soll...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000017</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000017</guid><dc:creator><![CDATA[Gast0000]]></dc:creator><pubDate>Wed, 22 Feb 2006 10:50:48 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 10:54:43 GMT]]></title><description><![CDATA[<p>Schalt mal den Debugger an und schau nach, ob das Programm in den if()-Zweig springt. Wenn ja, fällt mir nur noch eine Lösung ein: Woran machst du fest, daß das Programm nichts schreibt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000025</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000025</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 22 Feb 2006 10:54:43 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 10:57:30 GMT]]></title><description><![CDATA[<p>ich kann die Datei öffnen, in der er theoretisch reinschreiben soll...und da steht immer nur der erste eintrag und alle weiteren fehlen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000026</guid><dc:creator><![CDATA[Gast0000]]></dc:creator><pubDate>Wed, 22 Feb 2006 10:57:30 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 11:02:02 GMT]]></title><description><![CDATA[<p>Hast du die Datei eöffnet, NACHDEM das Programm mit eintragen fertig war?</p>
<p>ansonsten bleibt noch mein zweiter (ähm, erster) Tip von oben: verwende lieber fstream's oder CFile's anstelle der FILE* (letztere waren zwar für C gut genug, aber inzwischen gibt es sicherere Alternativen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000032</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 22 Feb 2006 11:02:02 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 11:09:36 GMT]]></title><description><![CDATA[<p>Gast0000 schrieb:</p>
<blockquote>
<p>ich kann die Datei öffnen, in der er theoretisch reinschreiben soll...und da steht immer nur der erste eintrag und alle weiteren fehlen</p>
</blockquote>
<p>Was erwartest Du? Dein Code schreibt genau einen String und ein Int, woher sollen da weitere &quot;Einträge&quot; kommen? <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>EDIT: Sorry, &quot;a&quot; übersehen.</p>
<p>Nochmal EDIT: Da Du die Zahlen binär in die Datei schreibst würde ich nicht erwarten im Editor etwas sinnvolles zu sehen, will heissen evtl. steht in der Datei was ganz anderes als der Editor dir weissmacht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000036</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000036</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 22 Feb 2006 11:09:36 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 12:14:40 GMT]]></title><description><![CDATA[<p>1.also, das codestück ist in einem Event drin..., dass heißt, je nach Situation, wird es aufgerufen....</p>
<p>2. klar schau ich NACH programmende nach, was passiert ist <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>3. es ist mir auch klar, dass ich nicht alles im editor lesen kann(Zahlen) aber ich speicere ja Strings ab und die muss ich lesen können (ist beim ersten aufruf des Events ja der Fall <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/1000102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000102</guid><dc:creator><![CDATA[Gast0000]]></dc:creator><pubDate>Wed, 22 Feb 2006 12:14:40 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Wed, 22 Feb 2006 12:28:43 GMT]]></title><description><![CDATA[<p>Gast0000 schrieb:</p>
<blockquote>
<p>3. es ist mir auch klar, dass ich nicht alles im editor lesen kann(Zahlen) aber ich speicere ja Strings ab und die muss ich lesen können (ist beim ersten aufruf des Events ja der Fall <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>m_strName ist ein String, app-&gt;dlg-&gt;versuche ist ein Integer (und wird auch binär geschrieben). Eventuell solltest du (wenn du schon mit FILE's arbeiten mußt) fprintf() verwenden - das speichert Zahlen in Text-Format ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1000124</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000124</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Wed, 22 Feb 2006 12:28:43 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Thu, 23 Feb 2006 08:06:02 GMT]]></title><description><![CDATA[<p>also, nochmal:</p>
<p>es ist ganz bewußt gewollt, dass man die Interger-Zahlen in der Datei nur in Binär-schreibweise sieht.....das ist aber nicht das problem....<br />
sondern, warum schreibt er es pro programmstart nur ein einziges mal in die datei und alle weiteren einträge erscheinen nicht...und auch diese muss man sehen... <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/1000806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000806</guid><dc:creator><![CDATA[Gast0000]]></dc:creator><pubDate>Thu, 23 Feb 2006 08:06:02 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Thu, 23 Feb 2006 08:19:09 GMT]]></title><description><![CDATA[<p>wieso &quot;muß&quot;? Die Binärdarstellung deiner Highscore-Werte enthält möglicherweise ein Byte, das vom Editor als Textende gedeutet wird ('\0' ist ein guter Kandidat dafür und bei int-Werten unter 16 Mio. ziemlich sicher anzutreffen (bei 4-Byte-int's)).</p>
<p>Wenn du wirklich alles sehen willst, was in der Datei ist, solltest du sie mal per Hand durchlaufen und ausgeben:</p>
<pre><code class="language-cpp">ifstream fin(&quot;Highsore.dat&quot;);
char ch;
while(fin.get(ch))
  cout&lt;&lt;ch;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1000816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1000816</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Thu, 23 Feb 2006 08:19:09 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Thu, 23 Feb 2006 15:22:42 GMT]]></title><description><![CDATA[<p>Ganz einfach:::::::::</p>
<pre><code class="language-cpp">for(size_t i = 0; i &lt; fin.size(); ++i)
{
    cout &lt;&lt; fin[i] &lt;&lt; endl;
}
</code></pre>
<p>so einfach ist des <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/1001213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1001213</guid><dc:creator><![CDATA[[AdeL]]]></dc:creator><pubDate>Thu, 23 Feb 2006 15:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to In Datei schreiben on Fri, 24 Feb 2006 07:55:06 GMT]]></title><description><![CDATA[<p>Seit wann haben streams eine Mthode &quot;size()&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1001656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1001656</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 24 Feb 2006 07:55:06 GMT</pubDate></item></channel></rss>