Attendre x secondes [code c]

Soyez le premier à donner votre avis sur cette source.

Snippet vu 37 554 fois - Téléchargée 36 fois

Contenu du snippet

Voici comment attendre un nombre de secondes :

Source / Exemple :


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void sleep(int nbr_seconds);

void main(void)
{
	int x;
	int wait = 13;

	printf("Pause pendant %d secondes\n", wait);
	printf(">");

	for(x=1; x<=wait; x++)
	{
			printf(".");
			fflush(stdout);

			sleep((int)1);
	}

	printf("Fin !\n\n");
}

void sleep(int nbr_seconds)
{
	clock_t goal;

	goal = (nbr_seconds * CLOCKS_PER_SEC) + clock();

	while(goal > clock())
	{
		;
	}
}

Conclusion :


Amusez-vous bien ! :))

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
dimanche 2 janvier 2011
Statut
Membre
Dernière intervention
7 avril 2013

Etant réellement loin pour exprimer autrement autant ma gratitude que ma reconnaissance pour votre noblesse, je ne puis que vous féliciter pour ce que vous faites
Messages postés
5
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
19 janvier 2007

Ce code est malheureusement une mauvaise solution, car il s'agit d'une attente active qui consomme 100% du CPU.

Les solutions sont pourtant connues et utilisées quotidiennement...

Sous Windows : Sleep() avec le paramètre en ms. Inclure <windows.h>

Sous unixoïde : sleep() avec le paramètre en seconses ou usleep() en µs. Inclure

J'ai créé une macro portable msleep() avec le paramètre en ms :

http://delahaye.emmanuel.free.fr/clib/psleep/
Messages postés
7
Date d'inscription
dimanche 28 mai 2006
Statut
Membre
Dernière intervention
19 novembre 2008

bonjour,

j'aurais voulu savoir si le programme realisait une attente passive ou active ?
Merci
Messages postés
8
Date d'inscription
mercredi 5 mars 2003
Statut
Membre
Dernière intervention
5 septembre 2006

Euh.. bah... sous Windows [Builder C++] aussi ca l'air c'est par défaut... et il faudrait préciser que c'est Sleep(1000), pour 1 seconde... =]

PS. : C'est mon premier commentaire.. soyez sympa =P
Messages postés
25
Date d'inscription
samedi 12 avril 2003
Statut
Membre
Dernière intervention
28 mars 2006

Moi la fonction sleep fonctionne sans la librairie unistd.h (sous linux)

normal, il est inclus par défaut :)
Sous Dev C++ que je ne connais pas du tout (je fais pas de Windows...), il doit quand meme exister un equivalent de sleep... Il faut voir dans la bibliotheque qui gere les processus !
Afficher les 16 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.