-
Les guillemets !
Bonjour,
Tout simple j'image pour vous mais alors moi c'est le genre de truc à y passer la nuit sans jamais trouver la soluce (déjà 4 heures que je suis là-dessus...).
Voilà en fait je cherche à obtenir ce résultat :
CreateProcess(0, "test.exe /Paramètre "Message(0x0,"test","exemple.")"", 0, 0, 0, 0, 0, 0, &si, &pi);
En m'y prenant ainsi ça compile sans erreur sauf que les guillemets disparaissent :
CreateProcess(0, "test.exe /Paramètre \"Message(0x0,\"test\",\"exemple.\")\"", 0, 0, 0, 0, 0, 0, &si, &pi);
Merci pour une petite aide...
-
tu veux dire que ton programme test.exe ne recoit pas les guillemets ?
en partant du resultat, tu veux que test.exe recoive comme argument
Code:
Message(0x0,"test","exemple.")
donc pour cela, tu dois eviter que les " soient interpretes, donc les proteger avec des \
soit
Code:
Message(0x0,\"test\",\"exemple.\")
ensuite tu souhaites que cela devienne un seul parametre donc tu le colles entre ""
Code:
"Message(0x0,\"test\",\"exemple.\")"
ensuite tu le mets dans une chaine C donc tu dois proteger les caracteres speciaux avec \
les caracteres speciaux sont les " et les \
soit :
Code:
\"Message(0x0,\\\"test\\\",\\\"exemple.\\\")\"
enfin tu mets tout cela dans ta chaine C
Code:
CreateProcess(0, "test.exe /Paramètre \"Message(0x0,\\\"test\\\",\\\"exemple.\\\")\"", 0, 0, 0, 0, 0, 0, &si, &pi);
-
Merci screetch pour le reply ;)
En fait le problème venait non pas de la synthaxe utilisée en c++ mais de la synthaxe utilisée dans le paramètre. La doc disait "even double single". Je me suis entêté à suivre ce que disait la doc alors qu'au final il n'en fallait qu'un seul !
Et comme j'ignorerai pas plus tard que cet après-midi tout ce que tu décris dans ton post, en fait je n'étais sûr de rien :)
Encore merci en tout cas.