<?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[fstream schreibt die variabeln nicht richtig]]></title><description><![CDATA[<p>moin.<br />
ich habe mehrere eingabefelder, diese eingaben werden jeweils in einem cstring gespeichert.<br />
und diese variabelninhalte sollen in eine datei beschrieben werden.</p>
<p>bei meinem kleinen testprogramm zuvor klappte es und nun benutze ich fast den gleichen code und es geht nicht bzw. er schreibt mir den variabelninhalt in hexerdezimal oder in einem anderen komischen code.</p>
<p>hier mein quelltext-ausschnitt:</p>
<pre><code class="language-cpp">CEdit* e_Montag = (CEdit*)GetDlgItem(IDC_EDIT1); 
	CEdit* e_Dienstag = (CEdit*)GetDlgItem(IDC_EDIT2); 
	CEdit* e_Mittwoch = (CEdit*)GetDlgItem(IDC_EDIT3); 
	CEdit* e_Donnerstag = (CEdit*)GetDlgItem(IDC_EDIT4); 
	CEdit* e_Freitag = (CEdit*)GetDlgItem(IDC_EDIT5); 

	CString s_Montag, s_Dienstag, s_Mittwoch, s_Donnerstag, s_Freitag; 
    e_Montag-&gt;GetWindowText(s_Montag); 
	e_Dienstag-&gt;GetWindowText(s_Dienstag); 
	e_Mittwoch-&gt;GetWindowText(s_Mittwoch);
	e_Donnerstag-&gt;GetWindowText(s_Donnerstag);
	e_Freitag-&gt;GetWindowText(s_Freitag);   

	if (m_SelectSaveas == 0)
	{
		MessageBox(L&quot;Es wurde keine Speicheroption ausgewählt&quot;, L&quot;Error!&quot;, 0);
	}

	if (m_SelectSaveas == 1)
	{
			fstream f; //öffnen o. erstellen die .txt datei und schreiben den entsprechenden Inhalt rein
			f.open(&quot;./currentweek.txt&quot;, ios::app);

			f  &lt;&lt; &quot;Montag:&quot;&lt;&lt; endl;
			f  &lt;&lt; s_Montag &lt;&lt; endl;

			f  &lt;&lt; &quot;Dienstag:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Dienstag &lt;&lt; endl;

			f  &lt;&lt; &quot;Mittwoch:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Mittwoch &lt;&lt; endl;

			f  &lt;&lt; &quot;Donnerstag:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Donnerstag &lt;&lt; endl;

			f  &lt;&lt; &quot;Freitag:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Freitag &lt;&lt; endl;

			f.close();
</code></pre>
<p>Das Ergebnis in der .txt Datei sieht denn immmer so aus:</p>
<blockquote>
<p>Montag:<br />
00DA1C58<br />
Dienstag:<br />
00DA1CB0<br />
Mittwoch:<br />
00DA1D08<br />
Donnerstag:<br />
00DA1D60<br />
Freitag:<br />
00DA1DC0</p>
</blockquote>
<p>Wenn ich aber nen Breakpoint setze und schaue, was für ein Variabelninhalt die haben, zeigt er mir nach wie vor die ganz normalen Inhalt an.<br />
Wenn ich irgendeine Variabel nehme und die verwende nimmt er auch den gleichen Inhalt. (Hab da das z.b. gemacht: SetDlgItemText(IDC_EDIT2, s_Freitag..... das geht auch wunderbar)</p>
<p>Außer beim Hineinschreiben in die .txt Datei schreibt er nicht den normalen Inhalt rein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/253609/fstream-schreibt-die-variabeln-nicht-richtig</link><generator>RSS for Node</generator><lastBuildDate>Sun, 13 Sep 2026 14:25:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/253609.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Nov 2009 15:24:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Wed, 04 Nov 2009 15:24:54 GMT]]></title><description><![CDATA[<p>moin.<br />
ich habe mehrere eingabefelder, diese eingaben werden jeweils in einem cstring gespeichert.<br />
und diese variabelninhalte sollen in eine datei beschrieben werden.</p>
<p>bei meinem kleinen testprogramm zuvor klappte es und nun benutze ich fast den gleichen code und es geht nicht bzw. er schreibt mir den variabelninhalt in hexerdezimal oder in einem anderen komischen code.</p>
<p>hier mein quelltext-ausschnitt:</p>
<pre><code class="language-cpp">CEdit* e_Montag = (CEdit*)GetDlgItem(IDC_EDIT1); 
	CEdit* e_Dienstag = (CEdit*)GetDlgItem(IDC_EDIT2); 
	CEdit* e_Mittwoch = (CEdit*)GetDlgItem(IDC_EDIT3); 
	CEdit* e_Donnerstag = (CEdit*)GetDlgItem(IDC_EDIT4); 
	CEdit* e_Freitag = (CEdit*)GetDlgItem(IDC_EDIT5); 

	CString s_Montag, s_Dienstag, s_Mittwoch, s_Donnerstag, s_Freitag; 
    e_Montag-&gt;GetWindowText(s_Montag); 
	e_Dienstag-&gt;GetWindowText(s_Dienstag); 
	e_Mittwoch-&gt;GetWindowText(s_Mittwoch);
	e_Donnerstag-&gt;GetWindowText(s_Donnerstag);
	e_Freitag-&gt;GetWindowText(s_Freitag);   

	if (m_SelectSaveas == 0)
	{
		MessageBox(L&quot;Es wurde keine Speicheroption ausgewählt&quot;, L&quot;Error!&quot;, 0);
	}

	if (m_SelectSaveas == 1)
	{
			fstream f; //öffnen o. erstellen die .txt datei und schreiben den entsprechenden Inhalt rein
			f.open(&quot;./currentweek.txt&quot;, ios::app);

			f  &lt;&lt; &quot;Montag:&quot;&lt;&lt; endl;
			f  &lt;&lt; s_Montag &lt;&lt; endl;

			f  &lt;&lt; &quot;Dienstag:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Dienstag &lt;&lt; endl;

			f  &lt;&lt; &quot;Mittwoch:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Mittwoch &lt;&lt; endl;

			f  &lt;&lt; &quot;Donnerstag:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Donnerstag &lt;&lt; endl;

			f  &lt;&lt; &quot;Freitag:&quot; &lt;&lt; endl;
			f  &lt;&lt; s_Freitag &lt;&lt; endl;

			f.close();
</code></pre>
<p>Das Ergebnis in der .txt Datei sieht denn immmer so aus:</p>
<blockquote>
<p>Montag:<br />
00DA1C58<br />
Dienstag:<br />
00DA1CB0<br />
Mittwoch:<br />
00DA1D08<br />
Donnerstag:<br />
00DA1D60<br />
Freitag:<br />
00DA1DC0</p>
</blockquote>
<p>Wenn ich aber nen Breakpoint setze und schaue, was für ein Variabelninhalt die haben, zeigt er mir nach wie vor die ganz normalen Inhalt an.<br />
Wenn ich irgendeine Variabel nehme und die verwende nimmt er auch den gleichen Inhalt. (Hab da das z.b. gemacht: SetDlgItemText(IDC_EDIT2, s_Freitag..... das geht auch wunderbar)</p>
<p>Außer beim Hineinschreiben in die .txt Datei schreibt er nicht den normalen Inhalt rein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803294</guid><dc:creator><![CDATA[Upudicu]]></dc:creator><pubDate>Wed, 04 Nov 2009 15:24:54 GMT</pubDate></item><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Wed, 04 Nov 2009 15:36:04 GMT]]></title><description><![CDATA[<p>Da der Stream-Operator &lt;&lt; anscheinend nicht für den Datentyp CString definiert wurde, wird nur die Adresse des Objektes ausgegeben.</p>
<p>Verwende daher:</p>
<pre><code class="language-cpp">f  &lt;&lt; s_Montag.c_str() &lt;&lt; endl;
</code></pre>
<p>Das Problem sind die unterschiedlichen Frameworks, d.h. die MFC-Klassen sind nicht kompatibel zu den Standard C++ Klassen (wie z.B. std::string).<br />
Alternativ könntest du auch in MFC die CFile-Klasse benutzen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803306</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 04 Nov 2009 15:36:04 GMT</pubDate></item><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Wed, 04 Nov 2009 15:40:20 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Da der Stream-Operator &lt;&lt; anscheinend nicht für den Datentyp CString definiert wurde, wird nur die Adresse des Objektes ausgegeben.</p>
<p>Verwende daher:</p>
<pre><code class="language-cpp">f  &lt;&lt; s_Montag.c_str() &lt;&lt; endl;
</code></pre>
<p>Das Problem sind die unterschiedlichen Frameworks, d.h. die MFC-Klassen sind nicht kompatibel zu den Standard C++ Klassen (wie z.B. std::string).<br />
Alternativ könntest du auch in MFC die CFile-Klasse benutzen...</p>
</blockquote>
<blockquote>
<p>Error 1 error C2039: 'c_str' : is not a member of 'ATL::CStringT&lt;BaseType,StringTraits&gt;'</p>
</blockquote>
<p>Komische ist ja, dass es zuvor unter den gleichen Umständen in einem anderen Beispiel ging <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803309</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803309</guid><dc:creator><![CDATA[ichnochmalhier]]></dc:creator><pubDate>Wed, 04 Nov 2009 15:40:20 GMT</pubDate></item><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Wed, 04 Nov 2009 15:45:06 GMT]]></title><description><![CDATA[<p>ichnochmalhier schrieb:</p>
<blockquote>
<p>Komische ist ja, dass es zuvor unter den gleichen Umständen in einem anderen Beispiel ging <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Dann hast du vielleicht Glück gehabt. Wie schon gesagt wurde, wenn die CStrings und std::ostreams nicht kompatibel sind, musst du sie entweder kompatibel machen (op&lt;&lt; für CString überladen oder eine konverterfunktion von CString in ein geeignetes Proxobjekt schreiben oder was auch immer) oder dich auf eine der beiden Bibliotheken beschränken (std::ostream mit std::string, oder CFile mit CString)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803313</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803313</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 04 Nov 2009 15:45:06 GMT</pubDate></item><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Wed, 04 Nov 2009 15:56:38 GMT]]></title><description><![CDATA[<p>pumuckl schrieb:</p>
<blockquote>
<p>ichnochmalhier schrieb:</p>
<blockquote>
<p>Komische ist ja, dass es zuvor unter den gleichen Umständen in einem anderen Beispiel ging <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Dann hast du vielleicht Glück gehabt. Wie schon gesagt wurde, wenn die CStrings und std::ostreams nicht kompatibel sind, musst du sie entweder kompatibel machen (op&lt;&lt; für CString überladen oder eine konverterfunktion von CString in ein geeignetes Proxobjekt schreiben oder was auch immer) oder dich auf eine der beiden Bibliotheken beschränken (std::ostream mit std::string, oder CFile mit CString)</p>
</blockquote>
<p>Das finde ich aber seltsam. Hab kaum was an meinem Beispiel geändert. Habe nur den Dialog ein wenig geändert aber der fstreamcode ist so gut wie gleich geblieben.</p>
<p>Ok dann hier meine Frage: Ich hab hier meine Auswertung der Eingaben:</p>
<pre><code class="language-cpp">CEdit* e_Montag = (CEdit*)GetDlgItem(IDC_EDIT1); 
	CEdit* e_Dienstag = (CEdit*)GetDlgItem(IDC_EDIT2); 
	CEdit* e_Mittwoch = (CEdit*)GetDlgItem(IDC_EDIT3); 
	CEdit* e_Donnerstag = (CEdit*)GetDlgItem(IDC_EDIT4); 
	CEdit* e_Freitag = (CEdit*)GetDlgItem(IDC_EDIT5); 

	CString s_Montag, s_Dienstag, s_Mittwoch, s_Donnerstag, s_Freitag; 
    e_Montag-&gt;GetWindowText(s_Montag); 
	e_Dienstag-&gt;GetWindowText(s_Dienstag); 
	e_Mittwoch-&gt;GetWindowText(s_Mittwoch);
	e_Donnerstag-&gt;GetWindowText(s_Donnerstag);
	e_Freitag-&gt;GetWindowText(s_Freitag);
</code></pre>
<p>Und wie schreibe ich diese Eingaben nun in eine (.txt) Datei? Mit fstream geht es ja anscheinend nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803322</guid><dc:creator><![CDATA[ichwieder..]]></dc:creator><pubDate>Wed, 04 Nov 2009 15:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Wed, 04 Nov 2009 16:45:12 GMT]]></title><description><![CDATA[<p>Sorry, die Methode &quot;c_str()&quot; gibt es nicht bei CString, sondern den Konvertierungsoperator (const char *), d.h.:</p>
<pre><code class="language-cpp">f  &lt;&lt; (const char *)s_Montag &lt;&lt; endl;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1803351</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803351</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Wed, 04 Nov 2009 16:45:12 GMT</pubDate></item><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Thu, 05 Nov 2009 07:45:45 GMT]]></title><description><![CDATA[<p>ichwieder.. schrieb:</p>
<blockquote>
<p>...Hab kaum was an meinem Beispiel geändert. Habe nur den Dialog ein wenig geändert ...</p>
</blockquote>
<p>Das ist praktisch, weil es die Fehlersuche eingrenzt...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803583</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 05 Nov 2009 07:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to fstream schreibt die variabeln nicht richtig on Thu, 05 Nov 2009 07:55:40 GMT]]></title><description><![CDATA[<p>Hast Du vielleicht was an den Includes geändert? Vielleicht bietet die ATL ja doch einen passenden Overload für operator&lt;&lt; an, aber der ist in einem Include-File enthalten, welches jetzt fehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1803589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1803589</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Thu, 05 Nov 2009 07:55:40 GMT</pubDate></item></channel></rss>