<?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[Speichern in eine neue Datei]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Strucktur, die ich gerne in einer Datei speichern möchte. Die Datei soll keine TXT-Datei sein. Ich habe dabei mehr an eine Datei im Sinne von Bits und Bytes gedacht. Alle Variablen sollen daher ihre Werte in der Datei beibehalten und chronologisch hintereinander gespeichrt werden. Habe schonmal mit</p>
<pre><code class="language-cpp">FileHandle = FileOpen(FilePath , fmOpenRead);
</code></pre>
<p>eine Datei eingelesen bzw. dessen Bytes und Bits in einer Strucktur gesichert. Leider möchte ich ja eine komplett neue Datei anlegen. Wie geht das am besten und habt ihr Quelltext-Beispiele dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165698/speichern-in-eine-neue-datei</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 19:27:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165698.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Nov 2006 10:44:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Speichern in eine neue Datei on Wed, 22 Nov 2006 10:44:40 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Strucktur, die ich gerne in einer Datei speichern möchte. Die Datei soll keine TXT-Datei sein. Ich habe dabei mehr an eine Datei im Sinne von Bits und Bytes gedacht. Alle Variablen sollen daher ihre Werte in der Datei beibehalten und chronologisch hintereinander gespeichrt werden. Habe schonmal mit</p>
<pre><code class="language-cpp">FileHandle = FileOpen(FilePath , fmOpenRead);
</code></pre>
<p>eine Datei eingelesen bzw. dessen Bytes und Bits in einer Strucktur gesichert. Leider möchte ich ja eine komplett neue Datei anlegen. Wie geht das am besten und habt ihr Quelltext-Beispiele dafür?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179095</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179095</guid><dc:creator><![CDATA[User ohne Namen]]></dc:creator><pubDate>Wed, 22 Nov 2006 10:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to Speichern in eine neue Datei on Wed, 22 Nov 2006 10:48:34 GMT]]></title><description><![CDATA[<p>Guckst du in der Hilfe bei FileOpen unter Zugriffsmoduskonstanten nach! Soll auch andere Werte als fmOpenRead geben...</p>
<p>Gruß,<br />
Guido</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179102</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179102</guid><dc:creator><![CDATA[GNiewerth]]></dc:creator><pubDate>Wed, 22 Nov 2006 10:48:34 GMT</pubDate></item><item><title><![CDATA[Reply to Speichern in eine neue Datei on Wed, 22 Nov 2006 10:59:26 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>und ich würde anstelle der WinAPI-Funktion auch lieber zumindestens Mittel aus dem C++ Standard nehmen (<em>std::ofstream</em>, mit binary-Flag), aber besser noch VCL-Mittel (<em>TFileStream</em>).</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179117</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Wed, 22 Nov 2006 10:59:26 GMT</pubDate></item><item><title><![CDATA[Reply to Speichern in eine neue Datei on Wed, 22 Nov 2006 12:10:38 GMT]]></title><description><![CDATA[<p>Hey, habe mich auf dieses Prinzip geeinigt mit meinem Kumpel.<br />
Der Grund war, dass wir auch schon so die Datei laden und dessen Inhalt in die Struktur ainlesen.</p>
<pre><code class="language-cpp">void WriteFSCData(AnsiString FileName)
{
int FileHandle;
    unsigned long StructLength;

	//Überprüft ob Datei schon existiert und gespeichert werden kann
    if(FileExists(FileName))
    {
    	// Blabla
    }
    // Datei existiert noch nicht und wirdn nun neu erstell
    else
    {
    	// Erstellen der Datei
    	FileCreate(FileName);

        // Überprüfung ob Datei erstellt wurde
		if( FileExists(FileName) )
        {
        	FileHandle = FileOpen(FileName , fmOpenWrite);
            // Überprüfung ob auf Datei zugegriffen werden kann
          	if( FileHandle &gt;= 0 )
          	{
            StructLength = sizeof(FData);
            FileWrite(FileHandle , &amp;FData, StructLength);
            }
        FileClose(FileHandle);
        }
    }
}
</code></pre>
<p>Leider gibt es noch ein Problem, das Schreiben der Bytes aus der Strucktur in die Datei funktioniert noch nicht. Die Datei bleibt nach dem Ablauf des Quelltextes bei 0 kB (kein Inhalt) Sie sollte aber 5 kB beinhalten. Seht ihr einen klaren Fehler?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179179</guid><dc:creator><![CDATA[User ohne Namen]]></dc:creator><pubDate>Wed, 22 Nov 2006 12:10:38 GMT</pubDate></item><item><title><![CDATA[Reply to Speichern in eine neue Datei on Wed, 22 Nov 2006 12:18:33 GMT]]></title><description><![CDATA[<p>Wie sieht denn FData aus?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179185</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 22 Nov 2006 12:18:33 GMT</pubDate></item><item><title><![CDATA[Reply to Speichern in eine neue Datei on Wed, 22 Nov 2006 12:21:43 GMT]]></title><description><![CDATA[<p>Das Struct FData besteht aus mehreren Arrays vom Typ unsigned short und short. Hierbei sollen nur die Bytes 1:1 in die Datei geschrieben werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179188</guid><dc:creator><![CDATA[User ohne Namen]]></dc:creator><pubDate>Wed, 22 Nov 2006 12:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to Speichern in eine neue Datei on Wed, 22 Nov 2006 12:44:22 GMT]]></title><description><![CDATA[<p>Ich schätze mal FData ist der Name der Instanz. Hier fehlt eigentlich ein cast. Versuch es mal so.</p>
<pre><code class="language-cpp">int size = FileWrite(FileHandle , reinterpret_cast&lt;const char*&gt;(&amp;FData), StructLength);
</code></pre>
<p>Überprüfe bitte auch den Rückgabewert von FileWrite.<br />
[edit]Verwende lieber statt dessen C++Standard-Mittel (wie akari schon sagte). D.h. streams.[edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179202</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Wed, 22 Nov 2006 12:44:22 GMT</pubDate></item></channel></rss>