Bonjour,

J'ai un programme (récupéré), dont je souhaite modifier certaines déclations notamment des #define que je veux passer en tableau de char
Dans le pgm d'origine un nom est déclaré par un define
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
#define COM "toto"
J'ai remplacé ce define par un fichier paramètre dans lequel je vais chercher "toto" pour le stocker dans un tableau de char[] (char COM[20])

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
 
----
int Len = 0;      
char *pdeb = NULL;
FILE *fparm;                   
fparm = fopen("dd:SYSPRM","r");
char COM[20]="";
----
while(fgets(recparm,80,fparm) != NULL)
 {
  pdeb = strchr(recparm,':');
  Len = strlen(pdeb);   
  strncat(COM,pdeb,Len);   
  ---
 ---                               
 }
 
----
Lorsque que j'affiche le contenu de COM, j'ai bien le paramêtre. Cependant ce paramêtre est passé à une fonction. Hors la fonction renvoi un code disant que COM est invalide.

Existe t'il une difference entre une chaine créee par un #define est un tableau de char type char[] (dans son contenu) ?
Faut il gérer un '\0' dans mon tableau, ce caractère est'il implicite lors d'un #define ?

Merci