[C] Rafraichissement console
Pierrestone
-
Pierrestone -
Pierrestone -
Bonjour a tous,
Je suis sur un programme en C, je dois recréer un pacman. Et j'aimerais rafraîchir ma console a chaque déplacement de celui-ci. Mon problème est que celle-ci se rafraîchit un peu trop rapidement, la console clignote. Y a-t-il un moyen de changer la fréquence de rafraîchissement. J'ai utilisé pour l'instant la fonction : system("cls") . Merci d'avance
Je suis sur un programme en C, je dois recréer un pacman. Et j'aimerais rafraîchir ma console a chaque déplacement de celui-ci. Mon problème est que celle-ci se rafraîchit un peu trop rapidement, la console clignote. Y a-t-il un moyen de changer la fréquence de rafraîchissement. J'ai utilisé pour l'instant la fonction : system("cls") . Merci d'avance
Configuration: Windows Vista Firefox 3.0.3
2 réponses
-
Bonsoir,
Essaie avec cette commande :
system ("PING 0.0.0.0 -n 5 > NUL");
system ("cls");
5 représente le nombre de secondes (à actualiser)-
-
-
Je ne parle pas de commandes DOS mais de fonctions en C. La fonction sleep() fait partie de la bibliothèque unistd.h. donc tout à fait portable contrairement aux commandes DOS qui ne marchent que sur les plate-formes Microsoft.
C'est pour ça qu'il n'est pas très conseillé d'utiliser la fonction system() sauf cas particulier. Il est bien mieux d'utiliser les fonctions du langage dans lequel on programme pour assurer la compatibilité quelque soit l'OS. -
J'avais bien compris, j'avais d'ailleurs renouvelé le test suivant (je l'avais testé il y a quelques temps):
......................... #include <unistd.h> int main() { char rep_clav_choix = '\0' ; int I = 0 ; char enieme [] = "iere" ; const int nb_val = 3 ; float tab_val [nb_val] ; ............................ sleep (5); ............................
J'obtiens le message suivant :
fatal error C1083: Impossible d'ouvrir le fichier include : 'unistd.h' : No such file or directory
Si je retire #include <unistd.h>
J'obtiens :
error C3861: 'sleep' : identificateur introuvable ce qui semble normal. -
Il y a fort à parier pour que tu n'utilises pas un compilateur Posix. Et comme unistd est conforme posix, le fichier ne sera pas trouvé. Si tu utilises VC (non posix), utilise simplement la fonction Sleep() (S majuscule) et inclue windows.h
Sinon, petite remarque sur ton petit code.
const int nb_val=3;
float tab_val[nb_val];
Ce n'est pas conseillé. Il est préférable d'utiliser #define NB_VAL 3 au lieu d'utiliser const int pour respecter la norme C90.
Cdlt
-
-
Merci bien pour ces renseignement. Effectivement la fonction sleep a résolu mon probleme.
Cordialement un amateur de pacman heureux