<?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[Hilfe bei String-Kuriuosum]]></title><description><![CDATA[<p>Hallo</p>
<p>ich will einen CString mittels CStdioFile öffnen</p>
<p>der String repräsentiert einen kompletten Notepadeintrag incl. formatierung.</p>
<p>wenn ich mir nach dem ersten abspeichern die Datei im HEX Editor ansehe,<br />
dann stehen dort &quot;0d 0d 0a&quot;'s an manchen stellen des Strings.</p>
<p>Wenn ich diese Dateie einlese, dann geht es schonmal so los,<br />
das er mittels openFile.ReadString(strTemp) immer bei diesen &quot;0d 0d 0a&quot;'s eine neue Zeile einliest, und ich schonmal den neuen String umständlich selber wieder zusammenbauen muss.</p>
<p>in meinem Notepad steht das ganze dann auch wieder richtig drinnen.</p>
<p>So - nur wenn ich nun einen neuen Eintrag mache, dann wird der neue Eintrag auch wieder richtig gespeichert, aber die alten Einträge haben lauter returns, oder je nachdem was ich versuche einzubauen, um das selbe File wieder hinzubekommen.</p>
<p>Ich hab auch hier im Forum schon was dazu gefunden, bin aber nicht schlau draus geworden...</p>
<p>Wie kann ich den String 1:1 in ein File schreiben, und daraus wieder genauso (egal ob cr's oder lf's drinnen sind) auslesen ?</p>
<p>Und warum ist bei mir kein Unterschied zwischen</p>
<p>CStdioFile openFile;<br />
if(openFile.Open(fileName, CFile::modeRead | CFile::typeBinary)){</p>
<p>und</p>
<p>CStdioFile openFile;<br />
if(openFile.Open(fileName, CFile::modeRead | CFile::typeText)){</p>
<p>Wäre sehr dankbar für Antworten <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>
]]></description><link>https://www.c-plusplus.net/forum/topic/193359/hilfe-bei-string-kuriuosum</link><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 07:36:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/193359.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 25 Sep 2007 12:56:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Tue, 25 Sep 2007 12:56:23 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>ich will einen CString mittels CStdioFile öffnen</p>
<p>der String repräsentiert einen kompletten Notepadeintrag incl. formatierung.</p>
<p>wenn ich mir nach dem ersten abspeichern die Datei im HEX Editor ansehe,<br />
dann stehen dort &quot;0d 0d 0a&quot;'s an manchen stellen des Strings.</p>
<p>Wenn ich diese Dateie einlese, dann geht es schonmal so los,<br />
das er mittels openFile.ReadString(strTemp) immer bei diesen &quot;0d 0d 0a&quot;'s eine neue Zeile einliest, und ich schonmal den neuen String umständlich selber wieder zusammenbauen muss.</p>
<p>in meinem Notepad steht das ganze dann auch wieder richtig drinnen.</p>
<p>So - nur wenn ich nun einen neuen Eintrag mache, dann wird der neue Eintrag auch wieder richtig gespeichert, aber die alten Einträge haben lauter returns, oder je nachdem was ich versuche einzubauen, um das selbe File wieder hinzubekommen.</p>
<p>Ich hab auch hier im Forum schon was dazu gefunden, bin aber nicht schlau draus geworden...</p>
<p>Wie kann ich den String 1:1 in ein File schreiben, und daraus wieder genauso (egal ob cr's oder lf's drinnen sind) auslesen ?</p>
<p>Und warum ist bei mir kein Unterschied zwischen</p>
<p>CStdioFile openFile;<br />
if(openFile.Open(fileName, CFile::modeRead | CFile::typeBinary)){</p>
<p>und</p>
<p>CStdioFile openFile;<br />
if(openFile.Open(fileName, CFile::modeRead | CFile::typeText)){</p>
<p>Wäre sehr dankbar für Antworten <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1372388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372388</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Tue, 25 Sep 2007 12:56:23 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Tue, 25 Sep 2007 12:59:01 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-403.html" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-1.html" rel="nofollow">MFC (Visual C++)</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372390</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 25 Sep 2007 12:59:01 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Tue, 25 Sep 2007 13:46:21 GMT]]></title><description><![CDATA[<p>Tja eigentlich habe ich ja ins C++ Forum geschrieben, da ich gehofft habe, dort eine allgemeine Lösung für mein Problem zu finden.</p>
<p>Ich geben mich auch sehr gerne mit einer nicht MFC Klassenlösung zufrieden, daher habe ich nicht ins MFC gepostet. Mein Problem besteht in der Darstellung eines Strings, das ein absolut allgemeines Problem ist, und eigentlich mit MFC garnichts zu tun hat....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372427</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Tue, 25 Sep 2007 13:46:21 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Tue, 25 Sep 2007 14:02:26 GMT]]></title><description><![CDATA[<p>Vielleicht solltest Du einfach mal die Doku zu EM_FMTLINES lesen:<br />
<a href="http://msdn2.microsoft.com/en-us/library/aa453003.aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/aa453003.aspx</a></p>
<p>Notepad ist nichts anderes als ein Edit Control, und was Du dort siehst sind Soft-Line-Breaks!</p>
<p>Ansonsten müsstest Du mit CStdioFile typeBinary exakt die Daten so bekommen wie sie in der Datei stehen. Was das Edit Control daraus macht ist was anderes!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372442</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 25 Sep 2007 14:02:26 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Tue, 25 Sep 2007 15:23:54 GMT]]></title><description><![CDATA[<p>Ok vielen Dank, es geht nun mit Binary, wenn ich dann die \n 's wieder hinzufüge.<br />
Dann erhalte ich zwar noch eine zusätzliche Leerzeile (wenn ich die wegmache, hat aber der string nicht mehr die selbe länge wie vorher) die ich aber beim einlesen einfach auslassen kann.</p>
<p>Auf jeden Fall wird nun mein Notepad ( ja richtig es ist ein CRichEditCtrl ) nun mit den alten Daten wieder korrekt befüllt.</p>
<p>Ich bin zwar immer noch verwirrt, aber glücklich das es jetzt geht <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1372493</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372493</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Tue, 25 Sep 2007 15:23:54 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Tue, 25 Sep 2007 16:36:14 GMT]]></title><description><![CDATA[<p>wie wär's, wenn du dir einfach mal die Beschreibung von ReadString durchliest?<br />
<a href="http://msdn2.microsoft.com/en-us/library/x5t0zfyf(VS.80).aspx" rel="nofollow">http://msdn2.microsoft.com/en-us/library/x5t0zfyf(VS.80).aspx</a><br />
Spezielles Augenmerk bitte auf die Remarks-Sektion...!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372525</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Tue, 25 Sep 2007 16:36:14 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Wed, 26 Sep 2007 09:39:30 GMT]]></title><description><![CDATA[<p>Das habe ich schon, nur leider problematisch, wenn der String sich zur Laufzeit ständig ändert und man kein char[] initialisieren kann.<br />
Ausserdem besteht der String den ich speichere ja selbst auch aus einem mix aus buchstaben und escape characters, und beim einlesen interpretiert readstring diese escape characters als endlines und beendet das einlesen der Zeile, aber das character selbst brauche ich ja noch.. daher muss ichs ja wieder hinter dran klatschen, damits wieder stimmt...<br />
Und im Hex Editor stand ja ein \n und kein \0 im Original...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372923</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:39:30 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Wed, 26 Sep 2007 09:44:41 GMT]]></title><description><![CDATA[<p>Ja, aber genau das steht doch dort: ReadString liest bis zum ersten newline character. Und wenn in deiner Datei ein \n steht, dann ist das ein newline character...!<br />
Wenn du wirklich exakt das haben willst, was in der Datei steht, dann musst du eben Read verwenden. Wieso du keinen char initialisieren kannst, verstehe ich nciht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372925</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:44:41 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Wed, 26 Sep 2007 09:58:24 GMT]]></title><description><![CDATA[<p>Ja ich wollte das ursprümglich auch mit Read lösen.</p>
<p>Ich habe dann geschrieben</p>
<pre><code class="language-cpp">readTextSize = atoi(strTemp); // Das Problem war hier
CStdioFile openFile;
char pbuf[readTextSize ];

openFile.Read( pbuf, readTextSize );
</code></pre>
<p>die Länge des Strings steht ja auch mit im File, und so konnte ich das Array nicht initialisieren, weil ich ja garnicht weiss wie groß es ist.</p>
<p>Da ICH keinen dynamischen Array anlegen kann, habe ich halt die Zeichen wieder drangefügt, was zumindest im binärmode ging...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1372935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372935</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Wed, 26 Sep 2007 09:58:24 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Wed, 26 Sep 2007 10:08:13 GMT]]></title><description><![CDATA[<p>Multiplex schrieb:</p>
<blockquote>
<p>Ja ich wollte das ursprümglich auch mit Read lösen.</p>
<p>Ich habe dann geschrieben</p>
<pre><code class="language-cpp">readTextSize = atoi(strTemp); // Das Problem war hier
CStdioFile openFile;
char pbuf[readTextSize ];

openFile.Read( pbuf, readTextSize );
</code></pre>
</blockquote>
<p>Das ist so auch nicht moeglich</p>
<pre><code class="language-cpp">char pbuf[readTextSize]; // readTextSize muss bereits zur compilezeit bekannt sein
//um es dynamisch zu machen
char *pbuf = new char[readTextSize];
// work with the pointer pbuf
delete [] pbuf;
pbuf = 0;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1372939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1372939</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Wed, 26 Sep 2007 10:08:13 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Wed, 26 Sep 2007 12:23:03 GMT]]></title><description><![CDATA[<p>OK vielen Dank.<br />
Da ich jetzt allerdings noch viel vor mir habe, weiss ich nicht, ob ich das nun ändern soll, und wieder (vielleicht stunden) damit zu verbringen, bis es dann wieder so geht wie jetzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
Aber bei meinen nächsten Projekten werde ich mir das im Hinterkopf behalten <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>Danke nochmals</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373067</guid><dc:creator><![CDATA[Multiplex]]></dc:creator><pubDate>Wed, 26 Sep 2007 12:23:03 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Wed, 26 Sep 2007 14:14:24 GMT]]></title><description><![CDATA[<p>Oder man ermittelt einfach mit CFile:GetStatus die Dateigröße und allokiert den Buffer entsprechend.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373176</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 26 Sep 2007 14:14:24 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei String-Kuriuosum on Wed, 26 Sep 2007 14:17:10 GMT]]></title><description><![CDATA[<p>CFile::GetLength sollte auch tun</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1373178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1373178</guid><dc:creator><![CDATA[dEUs]]></dc:creator><pubDate>Wed, 26 Sep 2007 14:17:10 GMT</pubDate></item></channel></rss>