Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Timer funktion

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
22.01.2009, 14:36 Uhr
masterklen



Guten Tag

Kann mir jemand einen Funktion nennen die dem Benutzer nur eine gewisse Zweit lässt etwas einzugeben z.B. 200 Millisekunden..?

- CLOCKS_PER_SEC ist zu langsam....
- GetTickCount hängt vom CPU ab und dass will ich nicht....

mfg masterklen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
22.01.2009, 16:42 Uhr
öni



Wenns für Windows sein darf kannste timeGetTime benutzen das ist Millisekunden genau, aber funktioniert eben nur auf Windowskisten.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
23.01.2009, 04:07 Uhr
0xdeadbeef
Gott
(Operator)


Du musst das Einlesen ja immer noch unterbrechen; im Zweifel wirste dafür threaden müssen. Im Standard gibt es zwar leider keine entsprechende Funktionalität, aber zum Glück gibt's ja boost. Man könnte das ganze mit boost.thread etwa so anfangen:

C++:
#include <boost/thread.hpp>

#include <iostream>
#include <string>

class read_thread {
public:
  read_thread(std::string &dest) : dest_(dest) { }

  void operator()() const throw() {
    std::cin >> dest_;
  }

private:
  std::string &dest_;
};

int main() {
  std::string data;
  read_thread rth(data);
  boost::system_time timeout
    = boost::get_system_time() + boost::posix_time::seconds(5);

  boost::thread th(rth);

  if(th.timed_join(timeout)) {
    std::cout << data << std::endl;
  } else {
    th.interrupt();
    std::cout << "Keine Eingabe." << std::endl;
  }
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
23.01.2009, 10:19 Uhr
masterklen



Danke...
Ich habe vergessen zu erwähnen, dass ich in C-Programmiere...

mfg masterklen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: