<?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[c++ prüfung ob schreibvorgang von anderem Programm beendet]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgende Situation. Ich möchte aus einer Datei einen Zahlenwert mittels Stream auslesen. Die Datei wird von einem anderen Programm erzeugt und dann der Wert hineingeschrieben.</p>
<p>Das auslesen an sich ist ja kein Problem. Nur nicht vor dem abgeschlossenen Schreibvorgang zu lesen ist problematisch. Ich habe bis jetzt nur folgende Möglichkeit ausprobiert: Mit While-Schleife prüfen ob Datei existiert, dann warte 2 Sekunden und lese dann ein.</p>
<p>Das ist natürlich von der Laufzeit schlecht.<br />
Eine zweite Möglichkeit wäre ein Flag nach der Zahl zu setzen und dann solange die datei zu lesen bis das flag auftaucht.</p>
<p>Was kann man da noch machen? Kann man vielleicht sicherstellen, dass ich exklusiv die Datei lese und der Schreibprozess beendet isT?</p>
<p>Grüße<br />
Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/222560/c-prüfung-ob-schreibvorgang-von-anderem-programm-beendet</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 01:10:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222560.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Sep 2008 16:07:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++ prüfung ob schreibvorgang von anderem Programm beendet on Sun, 14 Sep 2008 16:07:04 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgende Situation. Ich möchte aus einer Datei einen Zahlenwert mittels Stream auslesen. Die Datei wird von einem anderen Programm erzeugt und dann der Wert hineingeschrieben.</p>
<p>Das auslesen an sich ist ja kein Problem. Nur nicht vor dem abgeschlossenen Schreibvorgang zu lesen ist problematisch. Ich habe bis jetzt nur folgende Möglichkeit ausprobiert: Mit While-Schleife prüfen ob Datei existiert, dann warte 2 Sekunden und lese dann ein.</p>
<p>Das ist natürlich von der Laufzeit schlecht.<br />
Eine zweite Möglichkeit wäre ein Flag nach der Zahl zu setzen und dann solange die datei zu lesen bis das flag auftaucht.</p>
<p>Was kann man da noch machen? Kann man vielleicht sicherstellen, dass ich exklusiv die Datei lese und der Schreibprozess beendet isT?</p>
<p>Grüße<br />
Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581789</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Sun, 14 Sep 2008 16:07:04 GMT</pubDate></item><item><title><![CDATA[Reply to c++ prüfung ob schreibvorgang von anderem Programm beendet on Sun, 14 Sep 2008 18:35:25 GMT]]></title><description><![CDATA[<p>Die einfachste Möglichkeit, welche ich hier sehe, ist, dass du über den localhost (127.0.0.1) und Sockets die beiden Programme kommunizieren lässt. Dann kann das erste Programm, welche die Datei erzeugt, sobald es fertig ist, dem anderen eine Nachricht schicken, dass die Datei jetzt vorhanden ist.</p>
<p>Dazu könnte man zum Beispiel <a href="http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio.html" rel="nofollow">Boost.Asio</a> benutzen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581885</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sun, 14 Sep 2008 18:35:25 GMT</pubDate></item><item><title><![CDATA[Reply to c++ prüfung ob schreibvorgang von anderem Programm beendet on Sun, 14 Sep 2008 19:08:02 GMT]]></title><description><![CDATA[<p>Du könntest als 'Flag' eine zweite Datei benutzen. Programm 1 schreibt also die Datei, die von Programm 2 gelesen werden soll.<br />
Danach schreibt es eine weitere Datei auf die Platte.<br />
Programm 2 prüft auf die Existenz der zweiten Datei, wenn diese gefunden wird, ist klar, daß die eigentliche Datei, aus der gelesen werden soll, fertig ist.<br />
Programm 2 liest also nun seine Daten und löscht die als 'Flag' dienende Datei für den nächsten Programmlauf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581902</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Sun, 14 Sep 2008 19:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to c++ prüfung ob schreibvorgang von anderem Programm beendet on Mon, 15 Sep 2008 06:45:45 GMT]]></title><description><![CDATA[<p>Danke für eure Tipps. Ich werd mir das mal anschauen. Leider hab ich keinen Zugriff auf den schreibenden Rechner. Da fällt wahrscheinlich die Variante mit boost schon weg.<br />
Ich hab jetzt in die zu lesende Datei ein Flag geschrieben und lese solange aus bis das Flag gelesen wurde. Funktioniert wunderbar.</p>
<p>Viele Grüße</p>
<p>Guddy</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581977</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Mon, 15 Sep 2008 06:45:45 GMT</pubDate></item><item><title><![CDATA[Reply to c++ prüfung ob schreibvorgang von anderem Programm beendet on Mon, 15 Sep 2008 08:11:45 GMT]]></title><description><![CDATA[<p>Shared Memory wäre auch eine sauberere Methode der Prozesskommunikation. Falls du mehr in der Richtung machen willst sicher eine Überlegung wert.</p>
<p>Ansonsten als ersten Wert in die Datei eine Checksumme und die Größe der zu erwartenden Daten schreiben. Dann kannst du immer sehen ob alles okay ist. Eventuell auch noch eine ID dazu, damit du siehst, ob es eine neue Nachricht ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1582009</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1582009</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 15 Sep 2008 08:11:45 GMT</pubDate></item><item><title><![CDATA[Reply to c++ prüfung ob schreibvorgang von anderem Programm beendet on Mon, 15 Sep 2008 09:51:31 GMT]]></title><description><![CDATA[<p>Unter Windows gibts da die Pipes:<br />
<a href="http://msdn.microsoft.com/en-us/library/aa365780(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/aa365780(VS.85).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1582047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1582047</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 15 Sep 2008 09:51:31 GMT</pubDate></item></channel></rss>