<?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[Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw.]]></title><description><![CDATA[<p>Ich möchte ein kleines Programm bauen, das folgende Funktion erfüllt.<br />
Erstens: Nach dem starten des Programms soll eine Datei ausgewählt werden dürfen. Diese Datei ist im allgemeinen eine Textdatei.</p>
<p>In dieser Datei soll nun nach der letzten Stelle gesucht werden.</p>
<p>NAch einer bestimmten Zeit soll nun diese letzte Stelle aufgesucht werden, und es soll alles ermittelt werden, was nun hinter dieser Stelle steht.</p>
<p>Das soll dieses Programm solange machen bis man <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="😉"
    /> Ende sagt.</p>
<p>Kleine Problematik dabei ist, das es vorkommt, das während des auslesens der Datei, ein anderes Programm in diese Textdatei etwas rein schreibt.</p>
<p>Aufgabe verstanden ?</p>
<p>Ok ...wäre nicht schlecht wenn mir einer einen kleinen Denkanstoß geben könnte, wie ich das realisieren kann.<br />
D</p>
<p>Danke im Vorraus .....der Master</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/58926/dateiüberwachung-einer-quot-textdatei-quot-log-txt-usw</link><generator>RSS for Node</generator><lastBuildDate>Tue, 02 Jun 2026 23:39:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/58926.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 17 Dec 2003 09:55:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Wed, 17 Dec 2003 09:55:21 GMT]]></title><description><![CDATA[<p>Ich möchte ein kleines Programm bauen, das folgende Funktion erfüllt.<br />
Erstens: Nach dem starten des Programms soll eine Datei ausgewählt werden dürfen. Diese Datei ist im allgemeinen eine Textdatei.</p>
<p>In dieser Datei soll nun nach der letzten Stelle gesucht werden.</p>
<p>NAch einer bestimmten Zeit soll nun diese letzte Stelle aufgesucht werden, und es soll alles ermittelt werden, was nun hinter dieser Stelle steht.</p>
<p>Das soll dieses Programm solange machen bis man <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="😉"
    /> Ende sagt.</p>
<p>Kleine Problematik dabei ist, das es vorkommt, das während des auslesens der Datei, ein anderes Programm in diese Textdatei etwas rein schreibt.</p>
<p>Aufgabe verstanden ?</p>
<p>Ok ...wäre nicht schlecht wenn mir einer einen kleinen Denkanstoß geben könnte, wie ich das realisieren kann.<br />
D</p>
<p>Danke im Vorraus .....der Master</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f576.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--sunglasses"
      title=":sunglasses:"
      alt="🕶"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/418105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418105</guid><dc:creator><![CDATA[mastertango]]></dc:creator><pubDate>Wed, 17 Dec 2003 09:55:21 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Wed, 17 Dec 2003 11:37:53 GMT]]></title><description><![CDATA[<p>Ich würds unter anderem mit</p>
<p>CStdioFile<br />
CWinThread</p>
<p>lösen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418172</guid><dc:creator><![CDATA[C-O-M-M-A-N-D-E-R]]></dc:creator><pubDate>Wed, 17 Dec 2003 11:37:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Wed, 17 Dec 2003 11:46:25 GMT]]></title><description><![CDATA[<p>ein bisschen genauer???</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418177</guid><dc:creator><![CDATA[mastertango]]></dc:creator><pubDate>Wed, 17 Dec 2003 11:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Wed, 17 Dec 2003 12:01:55 GMT]]></title><description><![CDATA[<p>Einen Thread mit AfxBeginThread starten (wie dEUs mit CWinThread gemeint hat) und dann in diesem Thread die Textdatei auslesen und vergleichen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418197</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418197</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Wed, 17 Dec 2003 12:01:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Wed, 17 Dec 2003 20:47:00 GMT]]></title><description><![CDATA[<p>Halbwegs richtig ist sicherlich:</p>
<ol>
<li>gesamte Datei einlese, größe merken.</li>
</ol>
<p>Dann immer wiederholen:<br />
2) mit GetFileAttributesEx checken, ob die Datei sich geändert hat (ist abhängig von Dateisystem nicht 100% sicher - aber für ein Log file reicht es normalerweise, daß sich die größe geändert hat)</p>
<ol start="3">
<li>wenn ja, Seek() an die alte Position, rest einlesen, ausgeben</li>
</ol>
<p>Hier kann man sicher noch dranrumdrehen - z.B.:</p>
<p>FindFirstChangeNotification/FindNextChangeNotification, um &quot;exhte&quot; Änderungsmeldungen zu bekommen</p>
<p>Datei komplett einlesen wenn sich die größe veringert hat</p>
<p>Immer die ersten z.B. 256 Bytes einlesen und merken, und wenn die sich geändert haben, die Datei komplett einlesen.</p>
<p>Das kostet nicht viel Perfomance, und gibt schon einen recht guten Indikator, daß nicht nur angehängt wurde.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418610</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Wed, 17 Dec 2003 20:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Thu, 18 Dec 2003 09:17:58 GMT]]></title><description><![CDATA[<p>Rapha schrieb:</p>
<blockquote>
<p>Einen Thread mit AfxBeginThread starten (wie dEUs mit CWinThread gemeint hat) und dann in diesem Thread die Textdatei auslesen und vergleichen</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>du meintest sicher commander 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="😉"
    /> (und nicht dEUs)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418814</guid><dc:creator><![CDATA[C-O-M-M-A-N-D-E-R]]></dc:creator><pubDate>Thu, 18 Dec 2003 09:17:58 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Thu, 18 Dec 2003 09:18:05 GMT]]></title><description><![CDATA[<p>Die Lösung ist schlecht. naja ...auf jedenfall nicht Annehmbar <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 />
1. die Dateinen können bis zu mehreren MB groß sein.</p>
<p>Da die ganze Datei einlesen und davon reden das das ding wenig performance verbraucht , passt nicht so ganz.</p>
<p>2. die ersten 200 teichen, byte ..wie auch immer einlesen, bringt auch nichts.... dann kriege ich nie mit wenn sich am ende was endert.<br />
Die</p>
<p>3. die letzten Zeichen einlesen ist nur bedingt gut, weil ich ja immer wieder die richtige stelle suchen muss, bevor ich das was dahinter steht auslesen kann.</p>
<p>Ich habe mir überlegt das ich den Inhalt Inhalt sein lasse, sehe wie broß die Datei ist. Meinetwegeen 276 byte. Dann schaue ich auf das Datum des letzten Zugriffs. Wenn sich das ändert, gehe ich an die letzte bekannte stelle &quot;Byte 276&quot; und lese alles bis zum ende aus. Speiche mir die &quot;Byte&quot; welches nun &quot;byte318&quot; ist und so weiter.</p>
<p>Muss nu aber sagen, das ich keine Ahnung habe, wie ich das realisiere, da ich blutiger anfänger bin. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>MFG</p>
<p>der Master</p>
]]></description><link>https://www.c-plusplus.net/forum/post/418815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/418815</guid><dc:creator><![CDATA[mastertango]]></dc:creator><pubDate>Thu, 18 Dec 2003 09:18:05 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Thu, 18 Dec 2003 15:05:56 GMT]]></title><description><![CDATA[<ol>
<li>Größe - Lösung: Memory Mapped File für Dateizugriff, und Anzeige über virtual list control. Hab ich mal für 100MB große Dateien gemacht - geht wunderbar fix. Ist aber nicht so einfach, deswegen wollt' ich es erstmal außen vor lassen.</li>
</ol>
<p>Einlesen ist ja nur einmal, bei den späteren gehst du einfach mit Seek() an die alte Position, und liest nur den Rest (dazu)</p>
<ol start="2">
<li>
<p>Änderungsdatum etc. sind vom Dateisystem abhängig (NTFS z.B. 2 sec. Auflösung - ich hab damals mit 250 ms gesamplet...).<br />
Wenn das Log file z.B. einen Timestamp in die erste Zeile schreibt, dann ist das Kriterium &quot;Größer geworden/Anfang geändert&quot; wunderbar. Wenn du's &quot;wasserdicht&quot; haben willst, wahrscheinlich File Change Notifications abfangen.</p>
</li>
<li>
<p>Stelle Suchen ist wirklich fix mit &quot;Seek&quot;.</p>
</li>
</ol>
<blockquote>
<p>sehe wie broß die Datei ist. Meinetwegeen 276 byte. Dann schaue ich auf das Datum des letzten Zugriffs. Wenn sich das ändert, gehe ich an die letzte bekannte stelle &quot;Byte 276&quot; und lese alles bis zum ende aus. Speiche mir die &quot;Byte&quot; welches nun &quot;byte318&quot; ist und so weiter.</p>
</blockquote>
<p>Ist genau das was ich mit dem Seek meinte <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/419148</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/419148</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Thu, 18 Dec 2003 15:05:56 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Thu, 18 Dec 2003 20:49:38 GMT]]></title><description><![CDATA[<p>C-O-M-M-A-N-D-E-R schrieb:</p>
<blockquote>
<p>Rapha schrieb:</p>
<blockquote>
<p>Einen Thread mit AfxBeginThread starten (wie dEUs mit CWinThread gemeint hat) und dann in diesem Thread die Textdatei auslesen und vergleichen</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>du meintest sicher commander 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="😉"
    /> (und nicht dEUs)</p>
</blockquote>
<p>Ach Mist <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <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="😉"
    /> <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="😃"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/419393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/419393</guid><dc:creator><![CDATA[Rapha]]></dc:creator><pubDate>Thu, 18 Dec 2003 20:49:38 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Thu, 18 Dec 2003 23:13:31 GMT]]></title><description><![CDATA[<p><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/419443</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/419443</guid><dc:creator><![CDATA[C-O-M-M-A-N-D-E-R]]></dc:creator><pubDate>Thu, 18 Dec 2003 23:13:31 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Fri, 19 Dec 2003 05:27:10 GMT]]></title><description><![CDATA[<p>Um das mal zusammenzufassen.</p>
<p>File einlesen und Filepos merken.</p>
<p>In einem Thread oder sonstwie.</p>
<pre><code class="language-cpp">HANDLE hFileChanged = FindFirstChangeNotification(&quot;c:\\deinfile.txt&quot;,TRUE,FILE_NOTIFY_CHANGE_LAST_WRITE | FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME | FILE_NOTIFY_CHANGE_SIZE);
HANDLE hWaitEvents[] = { hFileChanged};
DWORD dwResult = WaitForMultipleObjects(2, hWaitEvents,FALSE,INFINITE);
</code></pre>
<p>Die Datei soweit ausgeben wie du willst.<br />
Sollte jetzt Windows dir ne Nachricht senden das sich etwas verändert hat:<br />
Wieder den FindFirstChangeNotification aktivieren.<br />
File öffnen, zur letzten Filepos seeken. Einlesen und Filepos merken. Die ändern ausgeben u.s.w.</p>
<p>Wenn du wissen willst wie es Profis unter Linux machen dann schaue dir das Programm tail an. Gibts im Netz mit Source.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/419464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/419464</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Fri, 19 Dec 2003 05:27:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Fri, 19 Dec 2003 08:33:45 GMT]]></title><description><![CDATA[<p>@UT: fehlt noch ein Handle, oder eine 1 zuviel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/419505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/419505</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Fri, 19 Dec 2003 08:33:45 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Fri, 19 Dec 2003 08:47:29 GMT]]></title><description><![CDATA[<p>Man soll ja auch Code nicht einfach übernehmen sondern schauen was er macht und ihn an seine Bedürfnisse anpassen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/419513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/419513</guid><dc:creator><![CDATA[Unix-Tom]]></dc:creator><pubDate>Fri, 19 Dec 2003 08:47:29 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiüberwachung einer &amp;quot;textdatei&amp;quot; .log .txt   usw. on Fri, 19 Dec 2003 10:55:31 GMT]]></title><description><![CDATA[<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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/419612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/419612</guid><dc:creator><![CDATA[peterchen]]></dc:creator><pubDate>Fri, 19 Dec 2003 10:55:31 GMT</pubDate></item></channel></rss>