Construire une chaîne "en dur"

Construire une chaîne "en dur" - C - Programmation

Marsh Posté le 24-03-2006 à 13:43:26    

J'utilise des constantes définies dans le fichier "base.h" qui contient :

Code :
  1. # define B Bonjour
  2. # define N 10

et j'aimerais construire la chaîne de caractères suivante :

Code :
  1. # include <base.h>
  2. static char phrase[] = "B, il y a N elements" ;


 
Quelqu'un a une idée pour que la chaîne soit codée "en dur" ?

Reply

Marsh Posté le 24-03-2006 à 13:43:26   

Reply

Marsh Posté le 24-03-2006 à 14:04:37    

d'après info cpp -> rubrique "stringification" :
 

Code :
  1. #include <stdio.h>
  2. #define STR(x) #x       // convertit X en chaine de caractères
  3. #define XSTR(x) STR(x)  // convertit la valeur de x en chaine de caractères
  4. #define B "bonjour"     // B est une chaine -> pas de problème
  5. #define N 10            // N est une valeur qu'on cherche à transformer en chaine -> utiliser XSTR()
  6. int main()
  7. {
  8.   char chaine[] = B ", il y a " XSTR(N) " elements";
  9.   printf( "%s\n", chaine );
  10.   return 0;
  11. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed