voilà je suis entrain de faire un programme en plusieurs fichiers...
dont un qui s'occupe de récuprer les arguments de ma comande.

arg.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
 
#include "arg.h"
 
extern char *interface;
 
 
void initvars(int argc, char **argv)
{
int arg;
extern char *optarg;
extern int optind, optopt;
 
 
while ((arg = getopt(argc, argv, ":i:f:")) != -1)
        {
        switch(arg)
                {
                case 'i': 
                  #define ARG_INTERFACE
		  interface = optarg;
		break;
                default:
                break;
                }
        }
}
donc le principe c ke si il ya un argument apres "-i" alors je defini une contante interface.
que j'utilise dans mon main :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
#include "main.h"
extern char *interface;
 
[...]	#ifndef ARG_INTERFACE
	#define ARG_INTERFACE
	printf("ARG_INTERFACE pas defini");	
        //interface = pcap_lookupdev(errbuf);
	#endif
donc quand j'execute : ./prog -i eth1
tout va bien
mais si j'execute ./prog
il ne m'affiche même pas mon printf !

merci pour votre aide !!