<?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[CStrings in dateien speichern]]></title><description><![CDATA[<p>Hallo!<br />
Ich versuche Teilnehmerdaten mit Hilfe von fwrite zu speichern un mit fread wieder einzulesen. Nur der CString macht mir Probleme.<br />
Schreiben:</p>
<pre><code class="language-cpp">FILE *file = NULL; 
file = fopen(&quot;Altersklassen.la&quot;, &quot;wb&quot;); 
int laenge=m_c2.GetCurSel()-m_c1.GetCurSel()+1;
fwrite(&amp;lange, sizeof(int), 1, file); 

fwrite(&amp;i ,sizeof(int), 1, file);   fwrite(&amp;Klassen[i], Klassen[i].GetLength(), 1, file); //
       fwrite(&amp;Klassenname[i],Klassen[i].GetLength(), 1, file); //
       fwrite(&amp;str2,str2.GetLength(), 1, file); 
       fwrite(&amp;str2, str2.GetLength(), 1, file); 
       fwrite(&amp;Jahrgangv, sizeof(int), 1, file); 
      fwrite(&amp;Jahrgangb, sizeof(int), 1, file);
</code></pre>
<p>Lesen:</p>
<pre><code class="language-cpp">FILE *file = NULL; 
file = fopen(&quot;Altersklassen.la&quot;, &quot;rb&quot;); 
int i=0;
int lange;
fread(&amp;laenge ,sizeof(int), 1, file); 
CString str,str2;
int l,s;
fread(&amp;l, sizeof(int), 1, file); 
fread(&amp;str, ??, 1, file);// Hier taucht jetzt ein Problem auf beim auslesen
fread(&amp;str,??,1,file);
fread(&amp;str,??, 1, file); 
fread(&amp;str, ??, 1, file); 
fread(&amp;l, sizeof(int), 1, file);
fread(&amp;l, sizeof(int), 1, file);
fclose(file);
</code></pre>
<p>Was soll ich denn bei fread als Größe angeben? Die Größe der Strings ist ja immer verschieden. Beim Schreiben kann ich die Größe einfach auslesen, aber wie mach is das beim Lesen?</p>
<p>Danke</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/157005/cstrings-in-dateien-speichern</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 09:52:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/157005.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Aug 2006 12:57:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CStrings in dateien speichern on Tue, 22 Aug 2006 12:57:37 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich versuche Teilnehmerdaten mit Hilfe von fwrite zu speichern un mit fread wieder einzulesen. Nur der CString macht mir Probleme.<br />
Schreiben:</p>
<pre><code class="language-cpp">FILE *file = NULL; 
file = fopen(&quot;Altersklassen.la&quot;, &quot;wb&quot;); 
int laenge=m_c2.GetCurSel()-m_c1.GetCurSel()+1;
fwrite(&amp;lange, sizeof(int), 1, file); 

fwrite(&amp;i ,sizeof(int), 1, file);   fwrite(&amp;Klassen[i], Klassen[i].GetLength(), 1, file); //
       fwrite(&amp;Klassenname[i],Klassen[i].GetLength(), 1, file); //
       fwrite(&amp;str2,str2.GetLength(), 1, file); 
       fwrite(&amp;str2, str2.GetLength(), 1, file); 
       fwrite(&amp;Jahrgangv, sizeof(int), 1, file); 
      fwrite(&amp;Jahrgangb, sizeof(int), 1, file);
</code></pre>
<p>Lesen:</p>
<pre><code class="language-cpp">FILE *file = NULL; 
file = fopen(&quot;Altersklassen.la&quot;, &quot;rb&quot;); 
int i=0;
int lange;
fread(&amp;laenge ,sizeof(int), 1, file); 
CString str,str2;
int l,s;
fread(&amp;l, sizeof(int), 1, file); 
fread(&amp;str, ??, 1, file);// Hier taucht jetzt ein Problem auf beim auslesen
fread(&amp;str,??,1,file);
fread(&amp;str,??, 1, file); 
fread(&amp;str, ??, 1, file); 
fread(&amp;l, sizeof(int), 1, file);
fread(&amp;l, sizeof(int), 1, file);
fclose(file);
</code></pre>
<p>Was soll ich denn bei fread als Größe angeben? Die Größe der Strings ist ja immer verschieden. Beim Schreiben kann ich die Größe einfach auslesen, aber wie mach is das beim Lesen?</p>
<p>Danke</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122110</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Tue, 22 Aug 2006 12:57:37 GMT</pubDate></item><item><title><![CDATA[Reply to CStrings in dateien speichern on Tue, 22 Aug 2006 13:16:20 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>versuchs doch am besten mit CFile, damit gehts viel einfacher und du musst dir über irgendwelche Größen keine Gedanken machen. Fallst du Hilfe benötigst, poste hier im Forum und ich helfe dir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122127</guid><dc:creator><![CDATA[Mupfel]]></dc:creator><pubDate>Tue, 22 Aug 2006 13:16:20 GMT</pubDate></item><item><title><![CDATA[Reply to CStrings in dateien speichern on Tue, 22 Aug 2006 13:19:16 GMT]]></title><description><![CDATA[<p>Bzw. CFile + CArchive oder CStdioFile. Findet man genügend Infos in der MSDN.</p>
<p>fread / fwrite und co sind C-Funktionen. Nicht mal C++ und schon gar nicht MFC, woher CString stammt ^^</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122134</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 22 Aug 2006 13:19:16 GMT</pubDate></item><item><title><![CDATA[Reply to CStrings in dateien speichern on Wed, 23 Aug 2006 09:07:38 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>drabere und mupfel haben recht. mit CFile geht es viel besser.<br />
du kannst bspw. deine daten zeilenweise auslesen:</p>
<pre><code>#include &lt;iostream.h&gt;
#include &lt;fstream.h&gt;

fstream DataFile;
char zeile[500]; //buffer für 500 zeichen in der zeile

//Datei zum Lesen öffnen
DataFile.open(&quot;Altersklassen.la&quot;, ios::in);

//oder Falls schreiben
//Datei zum Schreiben ab Dateiende öffnen statt &quot;ios::in&quot; &quot;ios::out | ios::app&quot; angeben

//Zeilenweise lesen
DataFile.getline(zeile, 500);

//daten sind in zeile!
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1122630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122630</guid><dc:creator><![CDATA[Ugene]]></dc:creator><pubDate>Wed, 23 Aug 2006 09:07:38 GMT</pubDate></item><item><title><![CDATA[Reply to CStrings in dateien speichern on Wed, 23 Aug 2006 09:52:56 GMT]]></title><description><![CDATA[<p>Danke! habs hinbekommen. Ich schreibe die Daten jetz zeielenweise un lese sie dann auch zeilenweise wieder aus. Ist vll. nicht besonders elegant un verschlüsselt, aber für mich reichts <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>
<p>Also danke nochmals an euch 3.</p>
<p>MFG</p>
<p>Hansi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122671</guid><dc:creator><![CDATA[Hansi]]></dc:creator><pubDate>Wed, 23 Aug 2006 09:52:56 GMT</pubDate></item><item><title><![CDATA[Reply to CStrings in dateien speichern on Wed, 23 Aug 2006 10:11:31 GMT]]></title><description><![CDATA[<p>Keine Ursache,</p>
<p>CFile verschlüsselt dir nicht deine Daten, das sollte klar sein. Aber wenn du eine Verschlüsselung brauchst/willst bau sie einfach ein z.b. mit einer Funktion der du den übergibst</p>
<p>CString Datensatz -&gt; Funktion Verschlüsseln -&gt; CString Datensatz_Verschlüsselt-&gt;CFile...</p>
<p>Verschlüsselungsalgorithmen gibts zu hauf im Internet <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>
<p>mfg<br />
Christian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1122687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1122687</guid><dc:creator><![CDATA[Mupfel]]></dc:creator><pubDate>Wed, 23 Aug 2006 10:11:31 GMT</pubDate></item></channel></rss>