Bonjour, j'essaye de faire un programme qui ce compose d'une boucle infinie .Quand ce dernier recoit un signal (SIGINT) il sauve la date et la valeur de la boucle(compteur)dans un fichier.Mon programme est le suivant,le pb c que je n'arrive pas à arreter la boucle en apuyant sur ALT-C.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <signal.h>
#include <time.h>
#include <fcntl.h> /* O_RDONLY */
#include <string.h>
 
 
void rien()
{	
	return;
}
 
 
int main (){
 
time_t t;
char *date;
FILE *pfich; //pointeur du fichier
struct sigaction act;
int i=0;
 
 
	act.sa_handler =rien;/* fonction à lancer */;
	sigemptyset(&act.sa_mask);
	act.sa_flags = 0;
	sigaction(SIGINT, &act, NULL);    /* fin contrôle-C */
 
 
	/*ouvrir le fichier de sauvegarde*/
	pfich=fopen("fichier.txt","w");
 
	/*lancer la boucle infinie*/	
 
while (1)
	{
	i++;
 
	}
 
 
 
	sigsuspend(&act.sa_mask );
	printf("vous avez appuyer sur la touche t'interruption\n");
	/*recuperer la date*/
	time(&t);
	date=ctime(&t);
	fprintf(pfich,"%s\n",date);
 
	printf("Fin\n");
	return EXIT_SUCCESS;
 
 
}
merci d'avance