Bonjour,

J'ai une nouvelle fois un problème de programmation :

J'ai une fonction qui effectue différents traitement :

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
#include <stdio.h>
void reponse(const char *ip)
{
    int etattest = test(ip); // Lancement des différents tests et enregistrement du code retour
 
    if(etattest==1)
    {
        printf("Installation en cours ...\n");
        int etatscan = scan(ip); // Lancement du scan d'inventaire et enregistrement du code retour
        if(etatscan==1)
        {
            printf("Installation [ SUCCES ]\n");                
        }
        else
        {
           printf("Installation [ ECHEC ]\n");   
        }        
    }
    else if(etattest==2)
    {
        printf("Partage c$ inaccessibles\n");              
    }
    else if(etattest==3)
    {
        printf("Pas de reponse au Ping\n");           
    }
 
    rapport(ip,etattest,etatscan); // Lancement du rapport avec les différents états des différents lancement effectué
}
A la fin de cette fonction je fais appel à une autre fonction " rapport(ip,etattest,etatscan);" :

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
#include <stdio.h>
#include <string.h> 
#define TAILLE_LOG 24
 
void rapport(const char *ip, int etattest,int etatscan)
{ 
    char log[TAILLE_LOG] = "";
    FILE* fichier = NULL;
 
    if(etattest==1)
    {
        strcpy(log, "Installation possible");
 
        if(etatscan==1)
        {
            strcpy(log, ": Installation [ SUCCES ]");                
        }
        else
        {
           strcpy(log, ": Installation [ ECHEC ]");   
        }            
    }
    else if(etattest==2)
    {
        strcpy(log, "Partage c$ inaccessibles");              
    }
    else if(etattest==3)
    {
        strcpy(log, "Pas de reponse au Ping");           
    }
 
    // Création du fichier de log
    fichier = fopen("log_scanner.log", "a");
    if (fichier != NULL)
    {
        // Donne la date et l'heure        
        char NewLogName[30];
        time_t rawtime;
        struct tm * timeinfo; 
        time ( &rawtime );
        timeinfo = localtime ( &rawtime );
        char s[100]; 
        strftime(s,30,"%d.%b.%Y - %H.%M",timeinfo);
 
        fprintf(fichier, "%s : %s : %s\n",s, ip,log);  
        fclose(fichier);
    }
}
J'ai un problème de compilation lorsque j'essaie de passé 3 paramètres à la fonction "rapport" alors que deux paramètre, aucun problème.

J'ai surement une erreur, mais la quelle ?

Merci d'avance de votre aide

Arnaud