bonjour, j'aimerais concaténer un define "textuel" avec une chaine de caractère dans un autre define.
par exemple :
merci d'avanceCode:
1
2 #define MY_PATH "c:\\toto\\" #define MY_FILE MY_PATH & "test.txt" // c:\toto\test.txt
Version imprimable
bonjour, j'aimerais concaténer un define "textuel" avec une chaine de caractère dans un autre define.
par exemple :
merci d'avanceCode:
1
2 #define MY_PATH "c:\\toto\\" #define MY_FILE MY_PATH & "test.txt" // c:\toto\test.txt
Comme avec n'importe quelle chaine, en les séparant avec au moins un espace ou au moins une tabulation :Citation:
Envoyé par arfy
Mais c'est complètement statique, on est bien d'accord...Code:#define MY_FILE MY_PATH "test.txt"
Bonjour,
Si j'ai compris, vous voulez ajouter un define dans un autre. Je ne sais pas si c'est possible directement.
Essayez de cette façon plutôt :
Code:
1
2 #define MY_PATH(MyFile) "c:\\toto\\##MyFile" #define MY_FILE MY_PATH("test.txt") // c:\toto\test.txt
Vow, tu es sûr que le "token-pasting" marche dans une chaîne?
ça m'étonnerait.
Ce que demandait arfy, c'était concaténer deux chaînes statiques en une autre chaîne statique (à quoi Emmanuel a répondu).
Tu as raison, je n'avais jamais testé en fait.
Je viens de le faire et ça me donne "c:\toto\##MyFile".
Je pense que vous avez mal compris le texte : il veut un define dans une autre define (oui j'ai bien relu cette fois-ci :lol: ) :
Citation:
Envoyé par arfy
Non, emmanuel a parfaitement répondu:
MY_FILE vaut à présentce qui une fois compilé équivaut à une seule chaîne "C:\toto\test.txt"Code:"C:\\toto\\" "test.txt"
Autant pour moi :oops: :oops: :oops:
J'avais mal lu sa réponse :ave:
Rien que pour ça :sm:
merci c'est parfait.
vow : allez, reviens :lol: