Fonction Sleep en C : un guide complet
Contrairement à son homologue en C, C n'a pas de fonction Sleep() explicite pour suspendre l'exécution du programme pour une durée déterminée. Cependant, la norme C moderne introduit une solution polyvalente, fournie par le
Utilisation de std::this_thread::sleep_for:
Il s'agit de l'approche recommandée pour C 11 et versions ultérieures. Il faut un seul argument de type std::chrono::milliseconds pour spécifier la durée du sommeil.
<code class="cpp">#include <chrono> #include <thread> std::chrono::milliseconds timespan(111605); // or whatever std::this_thread::sleep_for(timespan);</code>
Alternatives pré-C 11 :
Avant le introduction du threading dans C 11, des solutions spécifiques à la plate-forme étaient nécessaires. Une option consiste à définir une fonction de veille à l'aide de la compilation conditionnelle :
<code class="cpp">#ifdef _WIN32 #include <windows.h> void sleep(unsigned milliseconds) { Sleep(milliseconds); } #else #include <unistd.h> void sleep(unsigned milliseconds) { usleep(milliseconds * 1000); // takes microseconds } #endif</code>
Vous pouvez également exploiter la bibliothèque Boost :
<code class="cpp">#include <boost/thread/thread_only.hpp> void sleep(unsigned milliseconds) { boost::this_thread::sleep(boost::posix_time::milliseconds(milliseconds)); }</code>
Fonctionnalité supplémentaire :
En plus de sleep_for, le
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!