[c préprocesseur ] utiliser #include avec un paramètre
Bonjour,
j'aimerais inclure un fichier texte (qui contient un ensemble d'insctruction c à executer) dans mon fichier c à compiler.
en effet mon fichier texte est généré à l'aide d'un autre outil.
j'aimerai pouvoir exécuter les instructions c qui se trouve dans ce fichier à un endroit bien déterminé de mon fichier c à compiler
j'ai ajouté alors la ligne
Code:
#include "/export/home/user/Bureau/myfile.txt"
et tout fonctionne correctement.
Mon problème est que le nom de mon fichier est entré cette fois ci en ligne de commande, quand je compile mon fichier c de départ avec gcc mon_fichier.c myfile.txt je récupère le nom de myfile.txt qui n'est plus fixe , c'est une variable que je récupère à l'aide de in_fnames[1]
quand je tappe :
Code:
1 2 3 4 5
| char * file= "/export/home/user/Bureau";
char all_name[100];
strcpy(all_name, file);
strcat(all_name, in_fnames[0])
#include all_name ; |
une erreur de compilation est générée:
Code:
error: #include expects "FILENAME" or <FILENAME>
j'ai essayer avec les macro comme suit:
Code:
1 2 3
| #define COMMAND(NAME) #NAME
#undef COMMAND
#include COMMAND(all_name) ; |
mais ça ne fonctionne toujours pas.
est ce quelqu'un a une idée sur comment je pourrai utiliser #include avec un paramètre , ou comment tout simplement inclure le contenu d'un fichier C dans un autre au moment de la compilation.
merci beaucoup.
Karine