begin process at 2010 02 09 23:23:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Tableau en #define


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau en #define

mardi 29 avril 2008 à 09:22:40 | Tableau en #define

boudafc

Bonjour,
je souhaite pouvoir définir dans un #define tout le contenu d'un tableau comme suit:
#define CHAMPS "\"TOTO\", \"TATA\", \"TITI\""

et dans mon code:
char tabChamps[][512] = {CHAMPS}; 

tout ceci pour que l'utilisateur n'ait qu'à modifier le define dans le *.h et pas à aller chercher une ligne dans le code pour modifier le contenu du tableau...

problème, lorsque je fais:
printf("%s\n", tabChamps[0]);
j'obtient:
"TOTO", "TATA", "TITI"
et non TOTO

quelqu'un sait pourquoi ? car normalement à la compilation tout le code est remplacé par le define...

Sinon, comment faire pour faire la même chose de manière aussi "simple" ou plutôt transparente à l'utilisation ?

merci.

mardi 29 avril 2008 à 09:25:49 | Re : Tableau en #define

boudafc

Réponse acceptée !
Bon, malgrès les différents tests que j'avais fait avant de poster, j'ai trouvé la solution (qui me semblait pourtant peu probable...)
il faut faire:
#define CHAMPS "TOTO", "TATA", "TITI"

tout simplement. ceci pourra peut-être en aider certains un jour ou l'autre....


mardi 29 avril 2008 à 09:50:00 | Re : Tableau en #define

jfrancois

Réponse acceptée !
Bonjour,

Il est tout à fait normal que #define CHAMPS "TOTO", "TATA", "TITI" soit bon ! CHAMPS est défini avec le contenu exact de ce qui doit apparaître entre les accolades. Le préprocesseur se contente de faire une substitution exacte avec les #define.

Dans #define CHAMPS "\"TOTO\", \"TATA\", \"TITI\"", les 3 éléments sont transformés en une seule chaîne de caractères ! Il n'y a donc que tabChamps[0] qui soit initialisé. Ne pas confondre le guillemet d'encadrement de chaîne (") et le guillemet qui doit apparaître tel quel dans une chaîne (\").


Jean-François

mardi 29 avril 2008 à 10:15:12 | Re : Tableau en #define

boudafc

oui,
c'est vrai que j'avais fais l'amalgame, je pensais que mes #define devaient être systématiquement entre "" alors que non.

merci.




Cette discussion est classée dans : code, tableau, champs, contenu, define


Répondre à ce message

Sujets en rapport avec ce message

#define [ par ifren ] bonjour,j'ai ces deux code #ifndef LFAdbuf #define LFAdbuf LFA::__instance()->__buffer="" #endif // LFAdbufet j'ai un autre code #define LFAdbu Tableau de STRING comme paramètre [ par guiguimac ] Bonjour !est-ce que qq'un parmi vous aurait sous la main un code qui montre comment passer comme paramètre à une fonction un tableau de type STRING .. printf de #define [ par Manson ] Bonjour,voila j'ai un #define qui se presente sous cette forme :#define FILEVER 1,2,3,4Je ne peux absoluement pas changer son format.< STL : Afficher le contenu d'un stack [ par UbuRoi ] J'ai essayé comme ça :vector::iterator currentunit = UnitStack.top(); for (int i=0; i currentunit++; while (currentunit!= Probleme de caractere dans un tableau [ par byoushin ] Bonjour,J'ai un tableau a 2 dimensions qui ressemble a ca :0 1 2 3 4 5 6 7 8 91 0 0 0 0 0 0 0 0 02 0 0 0 0 0 0 0 0 03 0 0 0 0 0 0 0 0 04 0 0 0 0 probléme avec #define [ par seito ] bonjours tous le monde,je googlé un peu et je suis tombé sur un bout de code (celui de vnc)le problême c'est que débutant comme je le suis j'ai essay Bitwise-inclusive-OR assignement [ par Duc ] voila un morceau de code pour expliquer mon probléme:#define VALUE_1 101<font color=blu Où placer un immense tableau? [ par malik7934 ] salut,Dans mon code, j'ai un dictionnaire, stylechar dico[2048] = { "A", "ABE", "ACE", ... , "YOGA", "YOKE" };Il y a 2048 entrées. J'aurai a erreur de compilation [ par Nebula ] Bonsoir à tous, j'essaie laborieusement de trouver ce qui ne fonctionne pas dans le code suivant :#include WNDCLASSEX wc; wc.hCursor = LoadImage(0, Tableau a 2 dimentions [ par norton ] bonsoir,(ou bonjour ;) ) j'aimerai ajouter dans un tableau à 2 dimentions le contenu d'un fichier text donc je sait lire le fichier text mais je sait


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,480 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales