<?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[Stopuhr-Timer-Help]]></title><description><![CDATA[<p>Hallo,<br />
wie bereits im Titel zu lesen ist geht es um eine Stopuhr. Ich möchte in einen meiner Programme eine Stopuhr einbauen. Wenn möglich würde ich die gemessene Zeit in Millisekunden angeben. Ich würde mich aber mit einer Genauigkeit im Sekunden bereicht zufrieden stellen. Was ich weis ist das dies mit den Header-Datei &lt;ctime&gt; oder &lt;time.h&gt; geht.(Wenn nicht bitte korrigieren).So und jetzt hörts eigentlich schon auf. Ich hab schon auf diversen Seiten und unter MSDN gesucht und auch was gefunden, womit ich leider nicht viel anfangen konnte. Jetzt sehe ich nur noch den &quot;erbärmlichen&quot; ausweg und es mir vorkauen zu lassen. Ich hab schon eine kleines Testprogramm geschrieben.Das mir erstmal nur die Millisekunden zahl ausgeben soll bzw. in einer int/long Variable speichern soll.<br />
der Code:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;ctime&gt;

using namespace std;

int main(int argc, char *argv[])
{
    CTime Datum;

    Datum = GetCurrentTime();

    cout &lt;&lt; Datum.getMilliseconds() &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Auf Kommentare kann ich (denk ich) in so einen kleinen Programm verzichten.Ich bin mir bei den Code klar das es vollkommener Schwachsinn ist (alleine wegen den fehlern). Was ich euch nun bitte ist: mir ein programm vorzustellen womit ich Millisekunden / Sekunden ausgeben kann oder in einer Variable speichern kann und mir vielleicht kurz erklären was ich falsch gemacht habe.</p>
<p>Mit freundlichen Grüßen</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161691/stopuhr-timer-help</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 10:14:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161691.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Oct 2006 09:00:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Wed, 15 Jul 2009 19:08:27 GMT]]></title><description><![CDATA[<p>Hallo,<br />
wie bereits im Titel zu lesen ist geht es um eine Stopuhr. Ich möchte in einen meiner Programme eine Stopuhr einbauen. Wenn möglich würde ich die gemessene Zeit in Millisekunden angeben. Ich würde mich aber mit einer Genauigkeit im Sekunden bereicht zufrieden stellen. Was ich weis ist das dies mit den Header-Datei &lt;ctime&gt; oder &lt;time.h&gt; geht.(Wenn nicht bitte korrigieren).So und jetzt hörts eigentlich schon auf. Ich hab schon auf diversen Seiten und unter MSDN gesucht und auch was gefunden, womit ich leider nicht viel anfangen konnte. Jetzt sehe ich nur noch den &quot;erbärmlichen&quot; ausweg und es mir vorkauen zu lassen. Ich hab schon eine kleines Testprogramm geschrieben.Das mir erstmal nur die Millisekunden zahl ausgeben soll bzw. in einer int/long Variable speichern soll.<br />
der Code:</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;ctime&gt;

using namespace std;

int main(int argc, char *argv[])
{
    CTime Datum;

    Datum = GetCurrentTime();

    cout &lt;&lt; Datum.getMilliseconds() &lt;&lt; endl;

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Auf Kommentare kann ich (denk ich) in so einen kleinen Programm verzichten.Ich bin mir bei den Code klar das es vollkommener Schwachsinn ist (alleine wegen den fehlern). Was ich euch nun bitte ist: mir ein programm vorzustellen womit ich Millisekunden / Sekunden ausgeben kann oder in einer Variable speichern kann und mir vielleicht kurz erklären was ich falsch gemacht habe.</p>
<p>Mit freundlichen Grüßen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152030</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152030</guid><dc:creator><![CDATA[TheAngryPirat]]></dc:creator><pubDate>Wed, 15 Jul 2009 19:08:27 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Tue, 10 Oct 2006 09:05:55 GMT]]></title><description><![CDATA[<p>Hm.</p>
<pre><code class="language-cpp">struct  time t;
gettime(&amp;t);
long millisecs=t.ti_hour*60*60*100+t.ti_min*60*100+t.ti_sec*100+t.ti_hund;

//TU WAS

gettime(&amp;t);
long millisecs2=t.ti_hour*60*60*100+t.ti_min*60*100+t.ti_sec*100+t.ti_hund;

printf(&quot;%i msecs needed!&quot;,(millisecs2-millisecs)*10);
</code></pre>
<p>Ist die nich so ganz genaue Methode, aber so ähnlich funzt es bei mir...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152039</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152039</guid><dc:creator><![CDATA[GCoder]]></dc:creator><pubDate>Tue, 10 Oct 2006 09:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Tue, 10 Oct 2006 17:53:42 GMT]]></title><description><![CDATA[<p>Also ich hab das gerade probiert. Ich habe den code fast 1 zu 1 übernommen.</p>
<pre><code class="language-cpp">#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;time.h&gt;
#include &lt;ctime&gt;

using namespace std;

int main(int argc, char *argv[])
{
    int test;
    struct  time t; 
    gettime(&amp;t); 
    long millisecs=t.ti_hour*60*60*100+t.ti_min*60*100+t.ti_sec*100+t.ti_hund; 

    //TU WAS 

    cin &gt;&gt; test;

    gettime(&amp;t); 
    long millisecs2=t.ti_hour*60*60*100+t.ti_min*60*100+t.ti_sec*100+t.ti_hund; 

    printf(&quot;%i msecs needed!&quot;,(millisecs2-millisecs)*10);

    system(&quot;PAUSE&quot;);
    return EXIT_SUCCESS;
}
</code></pre>
<p>Und ich bekomme 2 Fehler. Sie lauten<br />
-&quot;aggregate <code>time t' has incomplete type and cannot be defined&quot; -&quot;</code>gettime' undeclared(first use this funtion)&quot;</p>
<p>Noch was, kennst du gute Literatur zu den Thema?</p>
<p>Grüße Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152382</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152382</guid><dc:creator><![CDATA[TheAngryPirat]]></dc:creator><pubDate>Tue, 10 Oct 2006 17:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Tue, 10 Oct 2006 19:41:49 GMT]]></title><description><![CDATA[<p>Hallo,<br />
Standard C++ bietet leider keine Zeit-Funktionen im Millisekundenbereich. So wie es aussieht, benutzt du das Betriebssystem Windows. Die Win32-API bietet eine Funktion zum Auslesen der Systemzeit in Millisekunden unter dem &quot;tollen&quot; Namen <a href="http://msdn.microsoft.com/library/en-us/multimed/htm/_win32_timegettime.asp" rel="nofollow">timeGetTime</a> an. Wenn man sie benutzen will, darf man nicht vergessen gegen winmm.lib bzw. libwinmm.a zu linken. Wenn man MinGW benutzt, kann man natürlich auch, ohne eine import-lib zu benutzen, direkt gegen die winmm.dll, die sich im Verzeichnis \Windows\system32 befindet, linken.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &lt;iostream&gt;

using namespace std;

int main()
{
    DWORD start = timeGetTime();
    //Dinge, die gemessen werden sollen
    cout &lt;&lt; &quot;Messung in Millisekunden: &quot; &lt;&lt; (timeGetTime() - start);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1152444</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152444</guid><dc:creator><![CDATA[Konstruktör]]></dc:creator><pubDate>Tue, 10 Oct 2006 19:41:49 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Tue, 10 Oct 2006 20:04:22 GMT]]></title><description><![CDATA[<p>Ahhhh, vielen dank!!! Ich hab zuerst ein bisschen Probleme mit dem Linker gehabt aber nach der suche im Ordner der Compilers auch gleich gefunden.</p>
<p>Grüße Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152451</guid><dc:creator><![CDATA[TheAngryPirat]]></dc:creator><pubDate>Tue, 10 Oct 2006 20:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Wed, 11 Oct 2006 10:09:27 GMT]]></title><description><![CDATA[<p>Konstruktör schrieb:</p>
<blockquote>
<p>Standard C++ bietet leider keine Zeit-Funktionen im Millisekundenbereich.</p>
</blockquote>
<p>Natürlich tut C++ das <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> clock(). Dürfte für Ernder vollkommen ausreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152785</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Wed, 11 Oct 2006 10:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Wed, 11 Oct 2006 10:42:26 GMT]]></title><description><![CDATA[<p>Stimmt, mit <a href="http://www.cppreference.com/stddate/clock.html" rel="nofollow">clock()</a> kann man es auch machen:</p>
<pre><code class="language-cpp">#include &lt;ctime&gt;
inline clock_t clockInMSec()
{
    return static_cast&lt;clock_t&gt;(clock() * (1000.0/CLOCKS_PER_SEC));
}
</code></pre>
<p>Danke für den Hinweis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152797</guid><dc:creator><![CDATA[Konstruktör]]></dc:creator><pubDate>Wed, 11 Oct 2006 10:42:26 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Thu, 18 Sep 2008 23:51:20 GMT]]></title><description><![CDATA[<p>am besten :</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;ctime&gt;

using namespace std;

int main()
{
	int start = clock();
	int warteZeitInSekunden = 3;
	while((clock()-start)/CLOCKS_PER_SEC &lt; warteZeitInSekunden);

	system(&quot;PAUSE&quot;);
	return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1584582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1584582</guid><dc:creator><![CDATA[ernd2d2]]></dc:creator><pubDate>Thu, 18 Sep 2008 23:51:20 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Thu, 02 Jul 2009 10:12:39 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich sitze gerade an dem selben Problem und hab das ganze mal ein bischen getestet, dabei ist mir aufgefallen das das ganze im sekundenbereich noch ganz gut funktioniert, aber sobald man aber auf 100ms oder 10 ms geht läuft das ganze ziehmlich ungenau (auf 1 minute ca. 3 s abweichung bei 100ms steps).</p>
<p>Wodran kann das liegen? gibt es eine möglichkeit das ganze genauer hin zu bekommen?</p>
<p>ich bräuchte eigenlich einen Timer der mir 10ms schritten eine funktion aufruft. deshalb hab ich das ganze in einem Thread gepackt und dabei halt festgestellt das die ganze sache so ungenau ist wie ein Timer bei VLC.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735908</guid><dc:creator><![CDATA[JBOpael]]></dc:creator><pubDate>Thu, 02 Jul 2009 10:12:39 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Thu, 02 Jul 2009 10:08:57 GMT]]></title><description><![CDATA[<p>Suche mal nach QueryPerformanceCounter.</p>
<p>Damit kann man auch im Millisekundenbereich<br />
arbeiten.</p>
<p>Gruß,</p>
<p>Andreas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735911</guid><dc:creator><![CDATA[AndreasBo]]></dc:creator><pubDate>Thu, 02 Jul 2009 10:08:57 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Thu, 02 Jul 2009 10:14:25 GMT]]></title><description><![CDATA[<p><code>std::clock</code> kann ziemich ungenau sein, vor allem im Millisekunden bereich. Auf Windows hat <code>std:clock</code> , glaub ich, eine Auflösung von 16ms. Für sehr genaue Zeitmessungen also nicht zu gebrauchen.</p>
<p>Eine Standard C++ Variante für hochauflösende Timer gibt es nicht. Da muss man auf die API des Betriebsystem zurückgreifen. Nachfolgendes gilt für Windows, bei den anderen Betriebsystemen kenne ich mich nicht aus.</p>
<p>Du kannst <a href="http://msdn.microsoft.com/en-us/library/ms713418.aspx" rel="nofollow">timeGetTime</a> verwenden, da erreichst du bei entsprechender Einstellungen (<a href="http://msdn.microsoft.com/en-us/library/ms713413.aspx" rel="nofollow">timeBeginPeriod</a>, <a href="http://msdn.microsoft.com/en-us/library/ms713415.aspx" rel="nofollow">timeEndPeriod</a>) eine Auflösung von 2ms.<br />
Um wirkliche sehr genaue Zeitmessungen durchzuführen, musst du wohl auf <a href="http://msdn.microsoft.com/en-us/library/ms644904.aspx" rel="nofollow">QueryPerformanceCounter</a> und <a href="http://msdn.microsoft.com/en-us/library/ms644905.aspx" rel="nofollow">QueryPerformanceFrequency</a> zurückgreifen. Diese haben meistens eine Auflösung, welche sogar genauer als eine Millisekunde ist. Da kommst du in den Mikrosekunden-Bereich rein.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735917</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Thu, 02 Jul 2009 10:14:25 GMT</pubDate></item><item><title><![CDATA[Reply to Stopuhr-Timer-Help on Thu, 02 Jul 2009 10:48:54 GMT]]></title><description><![CDATA[<p>Danke,</p>
<p>hab das mit QueryPerformanceCounter hin bekommen. Hab selbst bei 1ms tackt keine abweichung auf mehrere Minuten. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1735937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1735937</guid><dc:creator><![CDATA[JBOpael]]></dc:creator><pubDate>Thu, 02 Jul 2009 10:48:54 GMT</pubDate></item></channel></rss>