<?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++ Problem bei Synchronisation]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hab ein weiteres Problem.<br />
Ich möchte mit der Funktion getfiletime die Zeit der letzten Änderung der Datei &quot;SimResult.dat&quot; auslesen.<br />
Ich möchte dann in der main solange prüfen bis sich die Dateizeit von &quot;Simresult.dat&quot; geändert hat. Dazu habe ich folgendes geschrieben:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;time.h&gt;		
#ifdef __unix__				
      #include &lt;sys/stat.h&gt;	
      #include &lt;sys/types.h&gt;
#else
      #include &lt;sys\stat.h&gt;
#endif

using namespace std;

//Funktionsprototypen
long getfiletime(const char* path); 

int main(){
  int oldfiletime;
  oldfiletime = getfiletime(&quot;SimResult.dat&quot;);
  int newfiletime;

  //Prüfung ob Dateizeit von simresult sich geändert hat
do
{
  //Bildschirmmausgabe 
  cout &lt;&lt; &quot;Warte auf Dateiänderung Simresult.dat \n&quot;;
  newfiletime = getfiletime(&quot;SimResult.dat&quot;); 
}
while (newfiletime &lt;= oldfiletime); 

}

long getfiletime(const char* path){ 

long timeoffile;
struct stat attribut;	
//Prüfung ob path vorhanden ZU ERGÄNZEN!!!

stat(path, &amp;attribut);				//zur info: int stat(const char *pfad, struct stat *puffer);
timeoffile = attribut.st_mtime;
return timeoffile;

}
</code></pre>
<p>Nun kann ich aber auf die Datei SimResult.dat nicht mehr unter Windows zugreifen um sie zu ändern. Da anscheinend ständig auf die Datei zugegriffen wird. Unter Linux kann ich die Datei jedoch editieren. Was muss ich ergänzen damit das funktioniert?</p>
<p>Sinn der Sache ist, dass ich das C++-Programm mit einem anderen Programm synchronisieren möchte. Das C++-Programm soll solange warten bis das Windows-Programm die Datei geändert hat und erst dann im weiteren Code fortfahren.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/222444/c-problem-bei-synchronisation</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 02:54:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/222444.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 12 Sep 2008 15:09:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to c++ Problem bei Synchronisation on Fri, 12 Sep 2008 15:09:26 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich hab ein weiteres Problem.<br />
Ich möchte mit der Funktion getfiletime die Zeit der letzten Änderung der Datei &quot;SimResult.dat&quot; auslesen.<br />
Ich möchte dann in der main solange prüfen bis sich die Dateizeit von &quot;Simresult.dat&quot; geändert hat. Dazu habe ich folgendes geschrieben:</p>
<pre><code class="language-cpp">#include &lt;stdio.h&gt;
#include &lt;iostream&gt;
#include &lt;time.h&gt;		
#ifdef __unix__				
      #include &lt;sys/stat.h&gt;	
      #include &lt;sys/types.h&gt;
#else
      #include &lt;sys\stat.h&gt;
#endif

using namespace std;

//Funktionsprototypen
long getfiletime(const char* path); 

int main(){
  int oldfiletime;
  oldfiletime = getfiletime(&quot;SimResult.dat&quot;);
  int newfiletime;

  //Prüfung ob Dateizeit von simresult sich geändert hat
do
{
  //Bildschirmmausgabe 
  cout &lt;&lt; &quot;Warte auf Dateiänderung Simresult.dat \n&quot;;
  newfiletime = getfiletime(&quot;SimResult.dat&quot;); 
}
while (newfiletime &lt;= oldfiletime); 

}

long getfiletime(const char* path){ 

long timeoffile;
struct stat attribut;	
//Prüfung ob path vorhanden ZU ERGÄNZEN!!!

stat(path, &amp;attribut);				//zur info: int stat(const char *pfad, struct stat *puffer);
timeoffile = attribut.st_mtime;
return timeoffile;

}
</code></pre>
<p>Nun kann ich aber auf die Datei SimResult.dat nicht mehr unter Windows zugreifen um sie zu ändern. Da anscheinend ständig auf die Datei zugegriffen wird. Unter Linux kann ich die Datei jedoch editieren. Was muss ich ergänzen damit das funktioniert?</p>
<p>Sinn der Sache ist, dass ich das C++-Programm mit einem anderen Programm synchronisieren möchte. Das C++-Programm soll solange warten bis das Windows-Programm die Datei geändert hat und erst dann im weiteren Code fortfahren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1581022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1581022</guid><dc:creator><![CDATA[guddy]]></dc:creator><pubDate>Fri, 12 Sep 2008 15:09:26 GMT</pubDate></item></channel></rss>