Probleme d'utilisation de signal et pause (C)
Résolu
grouzoide
Messages postés
6
Statut
Membre
-
Ghost974 -
Ghost974 -
Bonjour,le programme ci dessous ne s'exécute pas comme il le devrait, il écrit dans le terminal au bout de 8s "Alarm clock " et quitte. Sauriez vous pourquoi? En vous remerciant... :)
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
int i ;
while(i>4)
{ alarm(8);
pause();
printf("fin attente alarme\n");
i++;
}
return 0;
}
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
int i ;
while(i>4)
{ alarm(8);
pause();
printf("fin attente alarme\n");
i++;
}
return 0;
}
A voir également:
- Probleme d'utilisation de signal et pause (C)
- Problème de réception tv pas de signal aujourd' hui - Guide
- Utilisation chromecast - Guide
- Télécharger gratuitement notice d'utilisation - Guide
- Annonce en pause leboncoin - Forum Vos droits sur internet
- Arnaque paiement sécurisé Leboncoin et piratage de compte ✓ - Forum Consommation & Internet
5 réponses
Oui ^^ merci, je n'avais pas fait attention, mais en soit, ca ne suffit pas à faire marcher le programme. Parcontre, comme cela il marche... Je trouve quand meme ca assez moche. Ne peut on pas se passer de "it_horloge"?
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
void it_horloge(int sig) /* routine executee sur reception de SIGALRM */
{
}
int main()
{
signal(SIGALRM,it_horloge) ; /* interception du signal */
int i=0 ;
while(i<4)
{ alarm(3);
pause();
printf("fin attente alarme\n");
i++;
}
return 0;
}
#include <signal.h>
#include <unistd.h>
#include <stdio.h>
void it_horloge(int sig) /* routine executee sur reception de SIGALRM */
{
}
int main()
{
signal(SIGALRM,it_horloge) ; /* interception du signal */
int i=0 ;
while(i<4)
{ alarm(3);
pause();
printf("fin attente alarme\n");
i++;
}
return 0;
}
là ca devient compliqué pour moi, je ne suis pas expert en C désolé ^^
bonne chance à toi quand meme ;)
bonne chance à toi quand meme ;)
Attention quand on veut compter de zéro à quatre en C il ne faut JAMAIS utiliser une boucle while (beaucoup trop dangereuse : la preuve ici).
Utilisez à la place la boucle for :
Joyeuses fêtes
Utilisez à la place la boucle for :
for( i = 0 ; i < 4 ; i++ ) etc.
Joyeuses fêtes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question