MODIFIER 2017: C++11 sleep_for est la bonne façon de le faire. Veuillez voir Xornad réponse, ci-dessous.
C++03:
Depuis Mac OS X est basé sur Unix, vous pouvez presque toujours il suffit d'utiliser les fonctions standard de linux!
Dans ce cas, vous pouvez utiliser usleep (ce qui prend un temps en microsecondes) et il suffit de multiplier votre millisecondes par 1000 pour obtenir microsecondes.
#include<unistd.h>int main (){
usleep(1000);//will sleep for 1 ms
usleep(1);//will sleep for 0.001 ms
usleep(1000000);//will sleep for 1 s}
Pour plus d'informations sur cette fonction, consultez le Linux homme page:
Si vous êtes à la compilation sur OS 10.7 ou supérieur, voir Xornand la réponse ci-dessous! À l'aide de C++11 est beaucoup plus de la croix-plate-forme de l'utilisation d'OS de code spécifiques au! utilisation de C++11 fonctionnalité, vous devez activer spécifiquement dans Xcode. Voir mon commentaire ci-dessous sur @Xornand la réponse! sommeil(0,001 f) dormira 0 secondes (le sommeil prend un int) Merci @cap. J'ai corrigé la réponse. Mieux utiliser nanosleep(), usleep() est obsolète (POSIX).
Si vous avez le C++11 dans votre compilateur, vous pouvez utiliser le sleep_for et éviter d'avoir à utiliser un système d'exploitation spécifique de l'API. (http://en.cppreference.com/w/cpp/thread/sleep_for)
c++11 est disponible pour moi dans xcode 4.6.3 mais l'en-tête de thread n'est pas présent ? C'est une bien meilleure réponse que la mienne! (Merci Xornand, je n'ai jamais pensé à l'utiliser!) Mais vous avez raison, pour obtenir le C++11 les en-têtes de compiler dans Xcode, vous devez activer le C++11 de la bibliothèque de support. Aller à votre projet dans le navigateur, cliquez sur Paramètres de construction et ensuite, la recherche de C++ de la Bibliothèque Standard. Modifier le paramètre de votre projet à libc++. J'ai édité Xornand excellente réponse à tenir compte de cette information, mais il ne sera pas visible jusqu'à ce que mes modifications sont acceptées. 🙂 Génial l'astuce! Merci pour le partage.. toujours quelque chose de nouveau en C++ ces jours-ci.. s'il vous plaît changer la accepté de répondre à celui-ci! 🙂
MODIFIER 2017: C++11
sleep_for
est la bonne façon de le faire. Veuillez voir Xornad réponse, ci-dessous.C++03:
Depuis Mac OS X est basé sur Unix, vous pouvez presque toujours il suffit d'utiliser les fonctions standard de linux!
Dans ce cas, vous pouvez utiliser
usleep
(ce qui prend un temps en microsecondes) et il suffit de multiplier votre millisecondes par 1000 pour obtenir microsecondes.Pour plus d'informations sur cette fonction, consultez le Linux homme page:
http://linux.die.net/man/3/usleep
utilisation de C++11 fonctionnalité, vous devez activer spécifiquement dans Xcode. Voir mon commentaire ci-dessous sur @Xornand la réponse!
sommeil(0,001 f) dormira 0 secondes (le sommeil prend un int)
Merci @cap. J'ai corrigé la réponse.
Mieux utiliser nanosleep(), usleep() est obsolète (POSIX).
OriginalL'auteur NHDaly
Si vous avez le C++11 dans votre compilateur, vous pouvez utiliser le
sleep_for
et éviter d'avoir à utiliser un système d'exploitation spécifique de l'API. (http://en.cppreference.com/w/cpp/thread/sleep_for)C'est une bien meilleure réponse que la mienne! (Merci Xornand, je n'ai jamais pensé à l'utiliser!)
Mais vous avez raison, pour obtenir le C++11 les en-têtes de compiler dans Xcode, vous devez activer le C++11 de la bibliothèque de support. Aller à votre projet dans le navigateur, cliquez sur Paramètres de construction et ensuite, la recherche de C++ de la Bibliothèque Standard. Modifier le paramètre de votre projet à
libc++
. J'ai édité Xornand excellente réponse à tenir compte de cette information, mais il ne sera pas visible jusqu'à ce que mes modifications sont acceptées. 🙂Génial l'astuce! Merci pour le partage.. toujours quelque chose de nouveau en C++ ces jours-ci..
s'il vous plaît changer la accepté de répondre à celui-ci! 🙂
OriginalL'auteur Xornand