<?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[Problem beim Einlesen einer TXT-Datei]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade dabei, einen Texteditor zu programmieren und habe mithilfe dieses Forums schon die eine oder andere schwere Hürde überwunden. Leider tut sich vor mir gerade die nächste auf. Es geht um das Einlesen einer TXT-Datei in das Textfeld. Nun liefert mir der Compiler einige Fehlermeldungen à la &quot;invalid conversion from void to char&quot;. Hier mal der Code (wie immer aufs Wesentliche beschränkt):</p>
<pre><code class="language-cpp">LRESULT CALLBACK AppWndProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam) 
{

   HDC hdc;
   PAINTSTRUCT ps;

   EnableWindow(g_hButton2, FALSE);
   EnableWindow(g_hButton3, FALSE);

   static HWND hEdit;

   switch(uiMsg) 
   { 
      case WM_CREATE:
         Create_GUI_Interface(hwnd);

         FILE *fz;
         char *buffer = NULL;
         int iFileSize;

         fz = fopen(&quot;Bla.txt&quot;, &quot;rb&quot;);
         if( fz != NULL)
         {
             fseek(fz, 0, SEEK_END);
             iFileSize = ftell(fz);
             buffer = malloc(iFileSize);

             fseek(fz, 0, SEEK_SET);
             fread(buffer, 1, iFileSize, fz);
             fclose(fz);
         }

         // Erzeugt im Fenster ein Editfeld.
         hEdit = CreateWindowEx(WS_EX_CLIENTEDGE,
                 &quot;EDIT&quot;,
                 buffer,
                 WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL,
                 10,                                                         // Abstand zum linken Rand
                 100,                                                        // Abstand zum oberen Rand
                 400,                                                        // Feldbreite
                 350,                                                        // Feldhöhe
                 hwnd,
                 NULL,
                 g_hInstance,
                 NULL);

         free(buffer);
         return 0;

      case WM_PAINT:
           hdc = BeginPaint (hwnd, &amp;ps);
                 SetBkMode (hdc, TRANSPARENT);

                 LFTahoma.lfHeight = 80;
                 LFTahoma.lfWeight = 0; // FW_BOLD, FW_ITALIC, FW_STRIKEOUT usw.
                 hFont = (HFONT)SelectObject (hdc, CreateFontIndirect (&amp;LFTahoma));
                 TextOut (hdc, 20, 5, &quot;Test&quot;, 4);
                 DeleteObject (SelectObject (hdc, hFont));

                 LFArial.lfHeight  = 15;
                 LFArial.lfWeight  = 0; // FW_BOLD, FW_ITALIC, FW_STRIKEOUT usw.
                 hFont = (HFONT)SelectObject (hdc, CreateFontIndirect (&amp;LFArial));
                 TextOut (hdc, 4, 527, &quot;(c) by Itachi&quot;, 13);
                 DeleteObject (SelectObject (hdc, hFont));
                 EndPaint (hwnd, &amp;ps);
      return 0;

      case WM_COMMAND: 
         switch( LOWORD(wParam) ) 
         {
            case ID_BUTTON:
               if( HIWORD(wParam) == BN_CLICKED )
               {
                  int Confirm = MessageBox (NULL, &quot;Programm wirklich beenden?&quot;, g_lpszAppTitle, MB_YESNO | MB_ICONEXCLAMATION);
                  {
                      if (IDYES == Confirm)
                      {
                                SendMessage(hwnd, WM_CLOSE, 0, 0);
                      }
                  } 
               } 
               break;

            case ID_BUTTON2:
               if( HIWORD(wParam) == BN_CLICKED )
               { 
                  ShowMessage(&quot;Dieser Button ist deaktiviert!&quot;);
               } 
               break;

            case ID_BUTTON3:
               if( HIWORD(wParam) == BN_CLICKED )
               { 
                  ShowMessage(&quot;Dieser Button ist deaktiviert!&quot;);
               } 
               break;
         } 
         return 0;

      case WM_CLOSE:
           FILE *fz;
           char *buffer = NULL;
           int iLength;

           iLength = GetWindowTextLength(hEdit);

           buffer = malloc(iLength);

           GetWindowText(hEdit, buffer, iLength+1);

           fz = fopen(&quot;Bla.txt&quot;, &quot;wb&quot;);
           fwrite(buffer, 1, iLength, fz);
           fclose(fz);

           free(buffer);
      return 0;

      case WM_DESTROY: 
         PostQuitMessage(0);
         return 0; 
   } 

   return DefWindowProc(hwnd, uiMsg, wParam, lParam); 
}
</code></pre>
<p>Ich suche bereits stundenlang sowohl hier im Forum, als auch via Google und in der MSDN. Doch da ich im Bezug auf das Einlesen von Dateien noch nicht so bewandert bin, weiß ich auch nicht recht, nach welchen Begriffen ich eigentlich suchen muss. Zurzeit finde ich nämlich nicht das, was ich suche. Würde mich daher über Hilfe freuen <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>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/190987/problem-beim-einlesen-einer-txt-datei</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 17:23:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/190987.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 28 Aug 2007 21:02:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 21:02:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich bin gerade dabei, einen Texteditor zu programmieren und habe mithilfe dieses Forums schon die eine oder andere schwere Hürde überwunden. Leider tut sich vor mir gerade die nächste auf. Es geht um das Einlesen einer TXT-Datei in das Textfeld. Nun liefert mir der Compiler einige Fehlermeldungen à la &quot;invalid conversion from void to char&quot;. Hier mal der Code (wie immer aufs Wesentliche beschränkt):</p>
<pre><code class="language-cpp">LRESULT CALLBACK AppWndProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam) 
{

   HDC hdc;
   PAINTSTRUCT ps;

   EnableWindow(g_hButton2, FALSE);
   EnableWindow(g_hButton3, FALSE);

   static HWND hEdit;

   switch(uiMsg) 
   { 
      case WM_CREATE:
         Create_GUI_Interface(hwnd);

         FILE *fz;
         char *buffer = NULL;
         int iFileSize;

         fz = fopen(&quot;Bla.txt&quot;, &quot;rb&quot;);
         if( fz != NULL)
         {
             fseek(fz, 0, SEEK_END);
             iFileSize = ftell(fz);
             buffer = malloc(iFileSize);

             fseek(fz, 0, SEEK_SET);
             fread(buffer, 1, iFileSize, fz);
             fclose(fz);
         }

         // Erzeugt im Fenster ein Editfeld.
         hEdit = CreateWindowEx(WS_EX_CLIENTEDGE,
                 &quot;EDIT&quot;,
                 buffer,
                 WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL,
                 10,                                                         // Abstand zum linken Rand
                 100,                                                        // Abstand zum oberen Rand
                 400,                                                        // Feldbreite
                 350,                                                        // Feldhöhe
                 hwnd,
                 NULL,
                 g_hInstance,
                 NULL);

         free(buffer);
         return 0;

      case WM_PAINT:
           hdc = BeginPaint (hwnd, &amp;ps);
                 SetBkMode (hdc, TRANSPARENT);

                 LFTahoma.lfHeight = 80;
                 LFTahoma.lfWeight = 0; // FW_BOLD, FW_ITALIC, FW_STRIKEOUT usw.
                 hFont = (HFONT)SelectObject (hdc, CreateFontIndirect (&amp;LFTahoma));
                 TextOut (hdc, 20, 5, &quot;Test&quot;, 4);
                 DeleteObject (SelectObject (hdc, hFont));

                 LFArial.lfHeight  = 15;
                 LFArial.lfWeight  = 0; // FW_BOLD, FW_ITALIC, FW_STRIKEOUT usw.
                 hFont = (HFONT)SelectObject (hdc, CreateFontIndirect (&amp;LFArial));
                 TextOut (hdc, 4, 527, &quot;(c) by Itachi&quot;, 13);
                 DeleteObject (SelectObject (hdc, hFont));
                 EndPaint (hwnd, &amp;ps);
      return 0;

      case WM_COMMAND: 
         switch( LOWORD(wParam) ) 
         {
            case ID_BUTTON:
               if( HIWORD(wParam) == BN_CLICKED )
               {
                  int Confirm = MessageBox (NULL, &quot;Programm wirklich beenden?&quot;, g_lpszAppTitle, MB_YESNO | MB_ICONEXCLAMATION);
                  {
                      if (IDYES == Confirm)
                      {
                                SendMessage(hwnd, WM_CLOSE, 0, 0);
                      }
                  } 
               } 
               break;

            case ID_BUTTON2:
               if( HIWORD(wParam) == BN_CLICKED )
               { 
                  ShowMessage(&quot;Dieser Button ist deaktiviert!&quot;);
               } 
               break;

            case ID_BUTTON3:
               if( HIWORD(wParam) == BN_CLICKED )
               { 
                  ShowMessage(&quot;Dieser Button ist deaktiviert!&quot;);
               } 
               break;
         } 
         return 0;

      case WM_CLOSE:
           FILE *fz;
           char *buffer = NULL;
           int iLength;

           iLength = GetWindowTextLength(hEdit);

           buffer = malloc(iLength);

           GetWindowText(hEdit, buffer, iLength+1);

           fz = fopen(&quot;Bla.txt&quot;, &quot;wb&quot;);
           fwrite(buffer, 1, iLength, fz);
           fclose(fz);

           free(buffer);
      return 0;

      case WM_DESTROY: 
         PostQuitMessage(0);
         return 0; 
   } 

   return DefWindowProc(hwnd, uiMsg, wParam, lParam); 
}
</code></pre>
<p>Ich suche bereits stundenlang sowohl hier im Forum, als auch via Google und in der MSDN. Doch da ich im Bezug auf das Einlesen von Dateien noch nicht so bewandert bin, weiß ich auch nicht recht, nach welchen Begriffen ich eigentlich suchen muss. Zurzeit finde ich nämlich nicht das, was ich suche. Würde mich daher über Hilfe freuen <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>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354176</guid><dc:creator><![CDATA[Itachi]]></dc:creator><pubDate>Tue, 28 Aug 2007 21:02:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 21:18:51 GMT]]></title><description><![CDATA[<p>Wenn Du einen C++-Compiler verwendest musst Du hier, das Ergebnis von malloc nach char* casten:</p>
<pre><code class="language-cpp">buffer = malloc(iFileSize);
</code></pre>
<p>Edit: Eigentlich müsste es heißen:</p>
<pre><code class="language-cpp">buffer = (char*)malloc((iFileSize + 1) * sizeof(buffer));
</code></pre>
<p>Das ist hier nur egal, da es sowieso auf ANSI läuft (kein UNICODE).</p>
<p>Edit-2: Das +1 bei malloc bezieht sich aber nur auf das 2. malloc (unter WM_CLOSE).</p>
<p>PS: Poste auch mal die Error-Log des Compilers.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354182</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354182</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 28 Aug 2007 21:18:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 21:34:08 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>okay, hier mal die Errors:</p>
<blockquote>
<p>In function <code>LRESULT AppWndProc(HWND__*, UINT, WPARAM, LPARAM)': 188 invalid conversion from \</code>void*' to `char*'<br />
213 jump to case label<br />
180 crosses initialization of <code>char*buffer' 233 jump to case label 180 crosses initialization of</code>char<em>buffer'<br />
266 jump to case label<br />
180 crosses initialization of <code>char*buffer' 267 redeclaration of</code>FILE</em>fz'<br />
179 <code>FILE*fz' previously declared here 268 redeclaration of</code>char<em>buffer'<br />
180 <code>char*buffer' previously declared here 273 invalid conversion from \</code>void</em>' to `char*'<br />
285 jump to case label<br />
180 crosses initialization of `char*buffer'<br />
[Build Error] [Test.o] Error 1</p>
</blockquote>
<p>Ich hoffe, das hilft dir <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>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354193</guid><dc:creator><![CDATA[Itachi]]></dc:creator><pubDate>Tue, 28 Aug 2007 21:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 21:53:21 GMT]]></title><description><![CDATA[<p>Du musst bei jedem Case-Zeig, in dem Du Variablen bei der Definition direkt initlaisierst, geschweifte Klammern setzen. Zum Beisiel so:</p>
<pre><code class="language-cpp">case WM_CLOSE: {
           FILE *fz;
           char *buffer = NULL; // &lt;- deswegen!
           int iLength;

           iLength = GetWindowTextLength(hEdit);

           buffer = malloc(iLength);

           GetWindowText(hEdit, buffer, iLength+1);

           fz = fopen(&quot;Bla.txt&quot;, &quot;wb&quot;);
           fwrite(buffer, 1, iLength, fz);
           fclose(fz);

           free(buffer);
           } return 0;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1354210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354210</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Tue, 28 Aug 2007 21:53:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 21:59:33 GMT]]></title><description><![CDATA[<p>mach mal überall bei char *blub = NULL, das = NULL weg;<br />
jeder Zeiger bekommt den wert 0 und dadurch kreuzen die sich, welche Idiot hat dir eigentlich gesagt, das man Zeigern einen Wert geben muß, ausser durch new oder Instanzt zuweisung?<br />
der *blub zeiger bekommt seinen Zeiger doch noch!</p>
<p>Weiter sage ich es noch einmal ....<br />
TU ENDLICH CASTEN, WENN DEIN COMPILER MECKERT</p>
<p>void* ist eine Adresse im Speicher, ohne zu wissen welcher Type dahinter steckt, sag dem Compiler per cast was es ist!</p>
<p>FILE *fz;</p>
<p>haste sicher mal Global auch, oder? <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 />
und char* buffer sicher auch noch.</p>
<p>Mensch Junge, schön das du an einem Editor zum Anfang dich ranmachst, denoch solltest du einige Grundlegende C/C++ Kenntnisse, besser gesagt überhaupt bei allen Sprachen, erst das Grundwissen erlenen.</p>
<p>Zeiger (void* / long*)<br />
*zeiger = new Speicherbereich der Klasse etc. [erstellen]<br />
*zeiger = &amp;zeiger2 [adresse kopieren / zuweisen]</p>
<p>Die Syntax und den Umgang solltest du erst lernen, dann sind diese Fragen Überflüssig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354216</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354216</guid><dc:creator><![CDATA[orr lol]]></dc:creator><pubDate>Tue, 28 Aug 2007 21:59:33 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 22:08:06 GMT]]></title><description><![CDATA[<p>fopen, fwrite, fclose etc. wurden aus Gründen der Abwärtskompatibilität in Win32 übernommen. Von ihrer Verwendung in neuen Programmen wird abgeraten, da diese Funktionen veraltet sind. In Win32-Anwendungen sollte man Dateien mit der leistungsfähigeren Funktion CreateFile() erstellen oder öffnen. Dieser Empfehlung von Jeffrey Richter ist nichts hinzuzufügen.</p>
<p>In der MSDN findest du Beispiele für korrektes WinAPI-Dateihandling unter dem Stichwort CreateFile.</p>
<p>Bei dieser Gelegenheit solltest du dich auch gleich von malloc, alloc, calloc, free und Co. verabschieden. Diese Funktionen haben in einem Windowsprogramm nichts verloren (und funktionieren z.B. im Zusammenhang mit Zwischenablage erst gar nicht). Für den globalen Heap sind GlobalAlloc(), GlobalLock(), GlobalReAlloc(), GlobalSize() und GlobalFree() die geeigneteren Kandidaten (auch hier: vergl. MSDN).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354219</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354219</guid><dc:creator><![CDATA[schmidt-webdesign.net]]></dc:creator><pubDate>Tue, 28 Aug 2007 22:08:06 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 22:09:51 GMT]]></title><description><![CDATA[<blockquote>
<p>open, fwrite, fclose etc. wurden aus Gründen der Abwärtskompatibilität in Win32 übernommen.</p>
</blockquote>
<p>Hä? Das sind Funktionen der C Laufzeitbibliothek</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354220</guid><dc:creator><![CDATA[hmmmmmmmmm]]></dc:creator><pubDate>Tue, 28 Aug 2007 22:09:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 22:10:46 GMT]]></title><description><![CDATA[<p>lol die funktionen sind bestandteil der c standard bibliothek, intern verwendet windows für die sowieso CreateFile,WriteFile,ReadFile etc.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354222</guid><dc:creator><![CDATA[CodeInsider]]></dc:creator><pubDate>Tue, 28 Aug 2007 22:10:46 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Tue, 28 Aug 2007 23:13:13 GMT]]></title><description><![CDATA[<p><a href="http://schmidt-webdesign.net" rel="nofollow">schmidt-webdesign.net</a> schrieb:</p>
<blockquote>
<p>fopen, fwrite, fclose etc. wurden aus Gründen der Abwärtskompatibilität in Win32 übernommen. Von ihrer Verwendung in neuen Programmen wird abgeraten, da diese Funktionen veraltet sind. In Win32-Anwendungen sollte man Dateien mit der leistungsfähigeren Funktion CreateFile() erstellen oder öffnen. Dieser Empfehlung von Jeffrey Richter ist nichts hinzuzufügen.</p>
<p>In der MSDN findest du Beispiele für korrektes WinAPI-Dateihandling unter dem Stichwort CreateFile.</p>
<p>Bei dieser Gelegenheit solltest du dich auch gleich von malloc, alloc, calloc, free und Co. verabschieden. Diese Funktionen haben in einem Windowsprogramm nichts verloren (und funktionieren z.B. im Zusammenhang mit Zwischenablage erst gar nicht). Für den globalen Heap sind GlobalAlloc(), GlobalLock(), GlobalReAlloc(), GlobalSize() und GlobalFree() die geeigneteren Kandidaten (auch hier: vergl. MSDN).</p>
</blockquote>
<p>Höhr auf zu saufen und gehe pennen!<br />
Und der Spruch mit der Zwischenablage kann man nicht beantworten, dazu reicht die Smilie auswahl nicht.....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354238</guid><dc:creator><![CDATA[orr lol]]></dc:creator><pubDate>Tue, 28 Aug 2007 23:13:13 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 12:10:38 GMT]]></title><description><![CDATA[<p>orr lol schrieb:</p>
<blockquote>
<p>mach mal überall bei char *blub = NULL, das = NULL weg;<br />
jeder Zeiger bekommt den wert 0 und dadurch kreuzen die sich, welche Idiot hat dir eigentlich gesagt, das man Zeigern einen Wert geben muß, ausser durch new oder Instanzt zuweisung?<br />
der *blub zeiger bekommt seinen Zeiger doch noch!</p>
<p>Weiter sage ich es noch einmal ....<br />
TU ENDLICH CASTEN, WENN DEIN COMPILER MECKERT</p>
<p>void* ist eine Adresse im Speicher, ohne zu wissen welcher Type dahinter steckt, sag dem Compiler per cast was es ist!</p>
</blockquote>
<p>Bei allem Respekt, aber bleib bitte mal sachlich und auf dem Teppich. Ich lerne jeden Tag etwas dazu, aber alles braucht seine Zeit. Wie wäre es denn, wenn du mir einfach mal erklärst, wie ich caste? Das ist im WinAPI-Tutorial nämlich nicht ersichtlich. Ich beherrsche durchaus die Grundlagen, nur ist mein Wissen halt noch löchrig. Wenn ich hier im Forum suche, finde ich nämlich nur andere Themen, aber nichts, was mir direkt erklärt, was &quot;cast&quot; ist.</p>
<p>Und ich glaube kaum, dass ich den Editor so, wie er jetzt ist, ohne Grundwissen hinbekommen hätte. Ich hätte halt nur gerne gewusst, wie ich diese Fehler ausbessere. Denn was für euch banal erscheint, ist für mich nicht ganz so einfach, also bitte ich um etwas Verständnis. Würde mich also über eine Antwort freuen <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>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354500</guid><dc:creator><![CDATA[Itachi]]></dc:creator><pubDate>Wed, 29 Aug 2007 12:10:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 12:10:03 GMT]]></title><description><![CDATA[<p>Wenn du nicht weiß, was ein cast ist, beherschst du offensichtlich nicht die Grundlagen. Das hier ist das WinAPI Forum, Leute.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354517</guid><dc:creator><![CDATA[lolFinder]]></dc:creator><pubDate>Wed, 29 Aug 2007 12:10:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 12:17:30 GMT]]></title><description><![CDATA[<p>lolFinder schrieb:</p>
<blockquote>
<p>Wenn du nicht weiß, was ein cast ist, beherschst du offensichtlich nicht die Grundlagen. Das hier ist das WinAPI Forum, Leute.</p>
</blockquote>
<p>Die Grundlagen bestehen nur aus &quot;cast&quot;? Wenn dem so ist, hast du Recht. Da dem aber nicht so ist, kannst du dir deine sinnlosen Posts sparen. Anonym meckern kann ich auch. Ich bin aber ein Neuling auf dem WinAPI-Gebiet und bitte um Hilfe. Wenn ich gewusst hätte, dass man hier sofort alles verstehen muss und schon schief angeguckt wird, wenn man mal etwas nicht weiß, dann hätte ich mich in einem anderen Forum registriert. Ich konnte ja nicht wissen, dass das Nachfragen verboten ist. Wenn du mir nicht helfen kannst/willst sei doch bitte so lieb und sag einfach gar nichts. Aber falls es hier noch irgendjemanden gibt, der einem Neuling unter die Arme greifen kann/möchte, dann bitte ich ihn, mir zu helfen <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>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354526</guid><dc:creator><![CDATA[Itachi]]></dc:creator><pubDate>Wed, 29 Aug 2007 12:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 13:16:15 GMT]]></title><description><![CDATA[<p>Lese nochmal die Posts von CodeFinder. Die sind konstruktiv und lehrreich. Bei Fragen dazu, nur Frage posten. Ignoriere das Getrolle einfach.<br />
<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/1354579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354579</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 29 Aug 2007 13:16:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 14:07:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>danke :D. Ich hab mir das noch mal ganz genau angeschaut und <em>malloc</em> gecastet:</p>
<pre><code class="language-cpp">buffer = (char*)malloc((iFileSize + 1) * sizeof(buffer));
</code></pre>
<p>Nun funktioniert das Einlesen auch. Bis zu diesem Punkt bin ich schon mal zufrieden (an dieser Stelle danke an CodeFinder ;)). Nur leider verursacht mein Programm nun eine hohe Systemauslastung und lässt sich zunächst auch nicht vom Taskmanager beenden. Dieser springt erst ein, wenn die Systemauslastung 100% erreicht hat. Zudem beschreibt mein Editor die Textdatei mit irgendwelchen Zeichen. Des Weiteren lässt sich das Programm auch nicht mehr über meinen Button beenden. Ich habe mal einen Screen gemacht: <a href="http://s9.photobucket.com/albums/a87/24maniac/editor.jpg" rel="nofollow">http://s9.photobucket.com/albums/a87/24maniac/editor.jpg</a></p>
<p>Wobei das &quot;YÚ&quot; nicht in die Datei gehört. Sorry, falls ich nerven sollte, aber ich möchte das so gut es geht verstehen <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>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354630</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354630</guid><dc:creator><![CDATA[Itachi]]></dc:creator><pubDate>Wed, 29 Aug 2007 14:07:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 14:54:21 GMT]]></title><description><![CDATA[<p>Ist vielleicht etwas nervig, aber malloc ist einer der Fälle, in denen man NICHT casten sollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354667</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354667</guid><dc:creator><![CDATA[dooph]]></dc:creator><pubDate>Wed, 29 Aug 2007 14:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 15:04:37 GMT]]></title><description><![CDATA[<p>Wenn Du mit fread () eine Textdatei einliest, musst Du die ominöse &quot;Terminierende Null&quot; per Hand setzen.<br />
Deshalb auch bei malloc () immer i.e. &quot;iFileSize <strong>+ 1</strong>&quot; :</p>
<pre><code class="language-cpp">...
 buffer = (char *) malloc((iFileSize+1) * sizeof(buffer));
 buffer [iFileSize] = '\0'; // &lt;- so oder so ähnlich
...
</code></pre>
<p>Warum der Schliessen-Button versagt, lässt sich aus der Ferne nicht sagen. Möglicherweise hast Du in der WM_CLOSE ein &quot;return 0&quot; als letzte Anweisung.<br />
Poste mal die AppWndProc () in ihrer aktuellsten Version (mit allen Änderungen).<br />
<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/1354678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354678</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:04:37 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 15:07:48 GMT]]></title><description><![CDATA[<p>du hast kein DestroyWindow in der WM_CLOSE und gibts 0 zurück du Holzkopf!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354682</guid><dc:creator><![CDATA[tenchou]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 15:33:11 GMT]]></title><description><![CDATA[<p>in keinem windowsbuch findeste fread, malloc und diesen ganzen standartmist. datein werden bei windows mit createfile geöffnet !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354700</guid><dc:creator><![CDATA[dooph]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:33:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 15:39:13 GMT]]></title><description><![CDATA[<p>tenchou schrieb:</p>
<blockquote>
<p>du hast kein DestroyWindow in der WM_CLOSE und gibts 0 zurück du Holzkopf!</p>
</blockquote>
<p>Einfach unfassbar, was man sich hier alles an den Kopf werfen lassen muss. Dieses Newbie-feindliche Verhalten kotzt mich dermaßen an, das glaubst du gar nicht. Wenn du mich nur beleidigen willst, kannst du dir weitere Postings getrost sparen. Komisch, dass sich das alle nur anonym trauen... Naja, sei es drum.</p>
<p>@ merker:</p>
<p>Nun stürzt das Programm nicht mehr ab und lässt sich auch normal beenden, danke schonmal ;). Bleibt noch das Problem mit den Zeichen in der TXT. Der Text wird nämlich auch nicht gespeichert, wenn ich ihn ändere. Hier mal der Code:</p>
<pre><code class="language-cpp">LRESULT CALLBACK AppWndProc(HWND hwnd, UINT uiMsg, WPARAM wParam, LPARAM lParam) 
{

   HDC hdc;
   PAINTSTRUCT ps;

   EnableWindow(g_hButton2, FALSE);
   EnableWindow(g_hButton3, FALSE);

   static HWND hEdit;

   switch(uiMsg) 
   { 
      case WM_CREATE:
         Create_GUI_Interface(hwnd);

         FILE *fz;
         char *buffer;
         int iFileSize;

         fz = fopen(&quot;Bla.txt&quot;, &quot;rb&quot;);
         if( fz != NULL)
         {
             fseek(fz, 0, SEEK_END);
             iFileSize = ftell(fz);
             buffer = (char*)malloc((iFileSize + 1) * sizeof(buffer));
             buffer [iFileSize] = '\0';

             fseek(fz, 0, SEEK_SET);
             fread(buffer, 1, iFileSize, fz);
             fclose(fz);
         }

         // Erzeugt im Fenster ein Editfeld.
         hEdit = CreateWindowEx(WS_EX_CLIENTEDGE,
                 TEXT(&quot;EDIT&quot;),
                 TEXT(buffer),
                 WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_MULTILINE | ES_AUTOVSCROLL,
                 10,                                                         // Abstand zum linken Rand
                 100,                                                        // Abstand zum oberen Rand
                 400,                                                        // Feldbreite
                 350,                                                        // Feldhöhe
                 hwnd,
                 NULL,
                 g_hInstance,
                 NULL);

         free(buffer);
         return 0;

      case WM_PAINT:
           hdc = BeginPaint (hwnd, &amp;ps);
                 SetBkMode (hdc, TRANSPARENT);

                 LFTahoma.lfHeight = 80;
                 LFTahoma.lfWeight = 0;
                 hFont = (HFONT)SelectObject (hdc, CreateFontIndirect (&amp;LFTahoma));
                 TextOut (hdc, 85, 5, &quot;Blubb&quot;, 5);
                 DeleteObject (SelectObject (hdc, hFont));

                 LFArial.lfHeight  = 15;
                 LFArial.lfWeight  = 0;
                 hFont = (HFONT)SelectObject (hdc, CreateFontIndirect (&amp;LFArial));
                 TextOut (hdc, 4, 527, &quot;(c) by Itachi&quot;, 13);
                 DeleteObject (SelectObject (hdc, hFont));
                 EndPaint (hwnd, &amp;ps);
      return 0;

      case WM_COMMAND: 
         switch( LOWORD(wParam) ) 
         {
            case ID_BUTTON:
               if( HIWORD(wParam) == BN_CLICKED )
               {
                  int Confirm = MessageBox (NULL, &quot;Programm wirklich beenden?&quot;, g_lpszAppTitle, MB_YESNO | MB_ICONEXCLAMATION);
                  {
                      if (IDYES == Confirm)
                      {
                                SendMessage(hwnd, WM_CLOSE, 0, 0);
                      }
                  } 
               } 
               break;

            case ID_BUTTON2:
               if( HIWORD(wParam) == BN_CLICKED )
               { 
                  ShowMessage(&quot;Dieser Button ist deaktiviert!&quot;);
               } 
               break;

            case ID_BUTTON3:
               if( HIWORD(wParam) == BN_CLICKED )
               { 
                  ShowMessage(&quot;Dieser Button ist deaktiviert!&quot;);
               } 
               break;
         } 
         return 0;

      case WM_CLOSE:
      {
           FILE *fz;
           char *buffer;
           int iLength;

           iLength = GetWindowTextLength(hEdit);

           buffer = (char*)malloc((iLength + 1) * sizeof(buffer));
           buffer [iFileSize] = '\0';

           GetWindowText(hEdit, buffer, iLength+1);

           fz = fopen(&quot;Bla.txt&quot;, &quot;wb&quot;);
           fwrite(buffer, 1, iLength, fz);
           fclose(fz);

           free(buffer);
      }

      case WM_DESTROY: 
         PostQuitMessage(0);
         return 0; 
   } 

   return DefWindowProc(hwnd, uiMsg, wParam, lParam); 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1354703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354703</guid><dc:creator><![CDATA[Itachi]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:39:13 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 15:43:12 GMT]]></title><description><![CDATA[<p>1. Du hast ein Fallthrough in deiner WM_CLOSE Behandlung und 2. du hast meinen Ratschlag nicht umgesetzt. Und was zur Eule soll denn das hier bewirken:</p>
<pre><code class="language-cpp">buffer = (char*)malloc((iLength + 1) * sizeof(buffer));
           buffer [iFileSize] = '\0';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1354705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354705</guid><dc:creator><![CDATA[tenchou]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:43:12 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 15:51:03 GMT]]></title><description><![CDATA[<p>tenchou schrieb:</p>
<blockquote>
<p>1. Du hast ein Fallthrough in deiner WM_CLOSE Behandlung und 2. du hast meinen Ratschlag nicht umgesetzt.</p>
</blockquote>
<p>1. Hilft es mir recht wenig, wenn du irgendwelche Begriffe verwendest, die mir nicht geläufig sind,</p>
<p>2. war dein Post eine Beleidigung und kein Ratschlag...<br />
__________________________________________________________</p>
<p>Eine genauere Formulierung wäre sehr hilfreich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354708</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354708</guid><dc:creator><![CDATA[Itachi]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:51:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 15:52:28 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">buffer = (char*)malloc((iFileSize + 1) * sizeof(buffer));
</code></pre>
<p>............................................................. ↑↑↑↑↑↑↑↑↑</p>
<p>was soll den das werden? Bitte mal schnell nachdenken wie viel Speicher du da Reservierst! (Filesize mal 4 ?)</p>
<p>änder das bitte, setzte den 0-Terminate nach dem einlesen der Datei, den so übergibts du ein 4mal größeren block.</p>
<p>setzte das PostQuitMessage in WM_CLOSE</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354709</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354709</guid><dc:creator><![CDATA[orr lol]]></dc:creator><pubDate>Wed, 29 Aug 2007 15:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 16:20:21 GMT]]></title><description><![CDATA[<p>Bitte ignoriert Itachi einfach. Er will unsere Community nur ausnutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354719</guid><dc:creator><![CDATA[@all]]></dc:creator><pubDate>Wed, 29 Aug 2007 16:20:21 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 17:24:51 GMT]]></title><description><![CDATA[<p>C++-Style <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>
<pre><code class="language-cpp">#define IDC_EDT_TEXT	104
#define IDC_BTN_CLOSE	105
#define IDC_BTN_UNUSED1 106
#define IDC_BTN_UNUSED2	107

#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;fstream&gt;

LRESULT CALLBACK AppWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg)
	{
	case WM_CREATE:
		{
			Create_GUI_Interface(hwnd);
			HWND hWndEdit = CreateWindowExA(WS_EX_CLIENTEDGE, &quot;edit&quot;, NULL,  WS_CHILD | WS_VISIBLE | WS_VSCROLL |
											ES_MULTILINE | ES_AUTOVSCROLL, 10, 100, 400, 350, hWnd, reinterpret_cast&lt;HMENU&gt;(IDC_EDT_TEXT),
											reinterpret_cast&lt;HINSTANCE&gt;(GetWindowLongA(hWnd, GWL_HINSTANCE)), NULL);
			if (hWndEdit == NULL)
			{
				MessageBoxA(hWnd, &quot;Fehler beim erstellen des Fensters!&quot;, NULL, 0);
				return S_FALSE;
			}

			if (__argc &gt; 1)
			{
				std::ifstream file_stream(__argv[1]);
				std::stringstream ss;
				ss &lt;&lt; file_stream.rdbuf();
				SendMessageA(hWndEdit, WM_SETTEXT, 0, reinterpret_cast&lt;LPARAM&gt;(ss.str().c_str()));
			}
		} break; 
	case WM_COMMAND:
		{
			switch (LOWORD(wParam))
			{
				case IDC_BTN_CLOSE:
					{
						if (HIWORD(wParam) == BN_CLICKED &amp;&amp; 
							MessageBoxA(hWnd, &quot;Programm wirklich beenden?&quot;, &quot;MyApp&quot;, MB_YESNO | MB_ICONEXCLAMATION) == IDYES)
							SendMessageA(hWnd, WM_CLOSE, 0, 0);
					} break;
				case IDC_BTN_UNUSED1:
					{
						if (HIWORD(wParam) == BN_CLICKED
							MessageBoxA(hWnd, &quot;Dieser Button ist deaktiviert!&quot;, NULL, 0);
					} break;
				case IDC_BTN_UNUSED2:
					{
						if (HIWORD(wParam) == BN_CLICKED)
							MessageBoxA(hWnd, &quot;Dieser Button ist deaktiviert!&quot;, NULL, 0);
					} break;
			}
		} break;
	case WM_CLOSE:
		{
			std::string file_name(__argc &gt; 1 ? __argv[1] : &quot;output.txt&quot;);
			std::ofstream file_stream(file_name.c_str());
			if (!file_stream)
				return S_FALSE;

			unsigned int len = GetWindowTextLengthA(GetDlgItemA(hWnd, IDC_EDT_TEXT)) + 1;
			char* buffer = new char[len];
			GetWindowTextA(GetDlgItemA(hWnd, IDC_EDT_TEXT), buffer);
			file_stream &lt;&lt; buffer &lt;&lt; std::endl;
			delete [] buffer;
		} break;
	case WM_DESTROY:
		{
			PostQuitMessage(0);
		} break;
	default:
		return DefWindowProc(hWnd, msg, wParam, lParam);
	}
	return S_OK;
}
</code></pre>
<p><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="😃"
    /> Na ok C++-Style würde ich noch anders machen ... aber ist schonmal so nen bissel schöner <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1354745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354745</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 29 Aug 2007 17:24:51 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 17:45:16 GMT]]></title><description><![CDATA[<p>Itachi schrieb:</p>
<blockquote>
<p>Bleibt noch das Problem mit den Zeichen in der TXT. Der Text wird nämlich auch nicht gespeichert, wenn ich ihn ändere.</p>
</blockquote>
<p>Du hast in der WM_CLOSE eine Variable verwechselt :</p>
<pre><code class="language-cpp">case WM_CLOSE: 
{ 
 int iLength; // &lt;- der hier ist es
...
 buffer = (char*)malloc((iLength + 1) * sizeof(buffer)); 
// buffer [iFileSize] = '\0'; 
 buffer [iLength] = '\0'; // &lt;- also so hier
...
}
</code></pre>
<p>Beachte auch orr lol's Beitrag (... und nicht seine Wortwahl !) was es mit dem &quot;sizeof(buffer)&quot; auf sich hat.<br />
<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/1354749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354749</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 29 Aug 2007 17:45:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen einer TXT-Datei on Wed, 29 Aug 2007 17:47:23 GMT]]></title><description><![CDATA[<p>(D)Evil das hast du wirklich gut gelöst!<br />
Endlich mal was lesbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354752</guid><dc:creator><![CDATA[hfhfghghg]]></dc:creator><pubDate>Wed, 29 Aug 2007 17:47:23 GMT</pubDate></item></channel></rss>