<?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[ofstream... speichert hier nur ein Zeichen!?]]></title><description><![CDATA[<p>Hallo,<br />
habe leider mal wieder ein Problem, dass ich mir nicht erklären kann.</p>
<p>Hier ein Auschnitt meines Quelltextes:</p>
<pre><code class="language-cpp">void __fastcall TForm1::BeendenClick(TObject *Sender)
{
  ofstream iniOut(inipfad.c_str(),ios::out);
  iniOut &lt;&lt;openmotherpfad.c_str();
  ShowMessage(openmotherpfad);

  for (int p=0; p&lt;pro; p++)
  {
    AnsiString ProfileLoeschen;
    if (p&lt;1000)
    {
      ProfileLoeschen=lesepfad+&quot;Profile.&quot;+IntToStr(p);
    };
    if (p&lt;100)
    {
      ProfileLoeschen=lesepfad+&quot;Profile.0&quot;+IntToStr(p);
    };
    if (p&lt;10)
    {
      ProfileLoeschen=lesepfad+&quot;Profile.00&quot;+IntToStr(p);
    };
    if (FileExists(ProfileLoeschen.c_str()))
      DeleteFile(ProfileLoeschen.c_str());
  };

  int status = 0;
  exit(status - '0');
}
</code></pre>
<p>Dies ist der Beenden-Button meines Programms. Funktioniert auch, aber ich möchte vorm Beenden noch Daten in eine Ini-Datei schreiben (z.B. einen Pfad).<br />
Leider schreibt mir das Programm so nur das erste Zeichen in die Datei, obwohl die ShowMessage() mir alles anzeigt.<br />
Setze ich genau diese drei Zeilen in irgendeine andere Funktion (anderer Button) funktioniert alles problemlos.</p>
<p>Was habe ich übersehen?</p>
<p>Nico</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/92377/ofstream-speichert-hier-nur-ein-zeichen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 05:58:53 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/92377.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Nov 2004 11:09:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Thu, 18 Nov 2004 11:09:02 GMT]]></title><description><![CDATA[<p>Hallo,<br />
habe leider mal wieder ein Problem, dass ich mir nicht erklären kann.</p>
<p>Hier ein Auschnitt meines Quelltextes:</p>
<pre><code class="language-cpp">void __fastcall TForm1::BeendenClick(TObject *Sender)
{
  ofstream iniOut(inipfad.c_str(),ios::out);
  iniOut &lt;&lt;openmotherpfad.c_str();
  ShowMessage(openmotherpfad);

  for (int p=0; p&lt;pro; p++)
  {
    AnsiString ProfileLoeschen;
    if (p&lt;1000)
    {
      ProfileLoeschen=lesepfad+&quot;Profile.&quot;+IntToStr(p);
    };
    if (p&lt;100)
    {
      ProfileLoeschen=lesepfad+&quot;Profile.0&quot;+IntToStr(p);
    };
    if (p&lt;10)
    {
      ProfileLoeschen=lesepfad+&quot;Profile.00&quot;+IntToStr(p);
    };
    if (FileExists(ProfileLoeschen.c_str()))
      DeleteFile(ProfileLoeschen.c_str());
  };

  int status = 0;
  exit(status - '0');
}
</code></pre>
<p>Dies ist der Beenden-Button meines Programms. Funktioniert auch, aber ich möchte vorm Beenden noch Daten in eine Ini-Datei schreiben (z.B. einen Pfad).<br />
Leider schreibt mir das Programm so nur das erste Zeichen in die Datei, obwohl die ShowMessage() mir alles anzeigt.<br />
Setze ich genau diese drei Zeilen in irgendeine andere Funktion (anderer Button) funktioniert alles problemlos.</p>
<p>Was habe ich übersehen?</p>
<p>Nico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654248</guid><dc:creator><![CDATA[Pianoman]]></dc:creator><pubDate>Thu, 18 Nov 2004 11:09:02 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Thu, 18 Nov 2004 11:43:14 GMT]]></title><description><![CDATA[<p>oh Gott, das ist so lange her, dass ich mit diesen Streams gerbeitet hab... So ohne es wirklich zu wissen, müsste da zur Ausgabe nicht ein printf() her?</p>
<p>Ansonsten kann ich Dir zum Thema ini-File nur mal einen Bick auf die Klasse TIniFile empfehlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654285</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654285</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 18 Nov 2004 11:43:14 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Thu, 18 Nov 2004 13:15:08 GMT]]></title><description><![CDATA[<p>Also das printf fehlt nicht, dass gibts bei den Streams so nicht wenn ich richtig informiert bin. Außerdem funktioniert das ganze ja, nur nicht unter diesem Button.<br />
Aber das mit der TIni-Klasse ist wahrscheinlich eine gute Idee <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>Nico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654405</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654405</guid><dc:creator><![CDATA[Pianomann]]></dc:creator><pubDate>Thu, 18 Nov 2004 13:15:08 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Thu, 18 Nov 2004 17:23:59 GMT]]></title><description><![CDATA[<p>Kann es vielleicht sein, das bei Aufruf von exit der Destruktor von ofstream nicht aufgerufen wird und somit der Puffer nicht geleert wird? In der Hilfe steht zwar dass Dateipuffer geleert werden aber man weiss ja nie. Ruf doch vor dem exit iniOut.close() mal auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654702</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 18 Nov 2004 17:23:59 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Fri, 19 Nov 2004 17:22:48 GMT]]></title><description><![CDATA[<p>Am besten ist es, wenn du ofstream folgendermaßen verwendest:</p>
<pre><code class="language-cpp">...
  ofstream makedr(&quot;dirsave.txt&quot;, ios::out);  //öffnet Datei zum (über)schreiben
  makedr &lt;&lt; cmbPath-&gt;Text.c_str();           //Notiert aktuelles Laufwerk
  makedr.close();                            //schließt die Datei
...
</code></pre>
<p>Ist nur ein Beispiel aus meinem Programm.<br />
Hinweis: verwende keine CHAR - Variablen, sondern möglichst Strings oder (wie in meinem Fall) zum Beispiel ComboFelder oder Edit - Felder (ist nur so ein Vorschlag)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/655259</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/655259</guid><dc:creator><![CDATA[raptorxp]]></dc:creator><pubDate>Fri, 19 Nov 2004 17:22:48 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Mon, 22 Nov 2004 08:37:16 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich würde den Code hier am besten ein bischen umschreiben, so ersparst du dir die andauernd auftretenden Copy-Ctor-Aufrufe!</p>
<pre><code class="language-cpp">if (p&lt;10) 
    { 
      ProfileLoeschen=lesepfad+&quot;Profile.00&quot;+IntToStr(p); 
    }
    if (p&lt;100) 
    { 
      ProfileLoeschen=lesepfad+&quot;Profile.0&quot;+IntToStr(p); 
    } 
    if (p&lt;1000) 
    { 
      ProfileLoeschen=lesepfad+&quot;Profile.&quot;+IntToStr(p); 
    }
</code></pre>
<p>An deinem Code ist sonst soweit alles richtig. Vielleicht solltest du noch prüfen, ob die Datei auch erfolgreich geöffnet wurde.</p>
<pre><code class="language-cpp">if(!iniOut)
{
    //hier drin Fehlerbehandlung
}
</code></pre>
<p>Ein close() ist an nicht nötig, da der Destruktor beim verlassen der Funktion das schon erledigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/656469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/656469</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Mon, 22 Nov 2004 08:37:16 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Mon, 22 Nov 2004 08:39:47 GMT]]></title><description><![CDATA[<p>Edit: Sry Doppelpost! <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/656470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/656470</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Mon, 22 Nov 2004 08:39:47 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Mon, 22 Nov 2004 09:30:07 GMT]]></title><description><![CDATA[<p>@ all:</p>
<p>Danke für Eure Hilfe. Ich hab da wohl mal wieder aus Unkenntnis mit Kanonen auf Spatzen geschossen <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 />
Hab das ganze jetzt mit TIniFile gelöst. 1A!!!</p>
<p>Trotzdem vielen Dank, denn merkwürdig fand ich das Problem schon...</p>
<p>Nico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/656479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/656479</guid><dc:creator><![CDATA[Pianoman]]></dc:creator><pubDate>Mon, 22 Nov 2004 09:30:07 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Mon, 22 Nov 2004 09:30:42 GMT]]></title><description><![CDATA[<p>@ all:</p>
<p>Danke für Eure Hilfe. Ich hab da wohl mal wieder aus Unkenntnis mit Kanonen auf Spatzen geschossen <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 />
Hab das ganze jetzt mit TIniFile gelöst. 1A!!!</p>
<p>Trotzdem vielen Dank, denn merkwürdig fand ich das Problem schon...</p>
<p>Nico</p>
]]></description><link>https://www.c-plusplus.net/forum/post/656480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/656480</guid><dc:creator><![CDATA[Pianoman]]></dc:creator><pubDate>Mon, 22 Nov 2004 09:30:42 GMT</pubDate></item><item><title><![CDATA[Reply to ofstream... speichert hier nur ein Zeichen!? on Mon, 22 Nov 2004 20:27:28 GMT]]></title><description><![CDATA[<p>Ooops! Triple-Posting <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/656482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/656482</guid><dc:creator><![CDATA[Pianoman]]></dc:creator><pubDate>Mon, 22 Nov 2004 20:27:28 GMT</pubDate></item></channel></rss>