Probleme avec EXECV(P) sous Windows [C++] - C++ - Programmation
Marsh Posté le 07-01-2004 à 11:05:20
"C:\devel\bamg\Debug\bamg"; << la pe ?
"C:\\devel\\bamg\\Debug\\bamg";
Marsh Posté le 07-01-2004 à 11:13:51
BotMan a écrit : pourquoi un double \ ? |
\ c'est pour escaper les caractères
Quand tu fais printf("\n" ); tu crois qu'il t'affiche \n ou un retour chariot ?
Marsh Posté le 07-01-2004 à 11:19:53
ah oui cai vrai j'avais ooblié
mais ca plante, acces violation : 0xC0000005 , genial
Marsh Posté le 07-01-2004 à 11:20:53
BotMan a écrit : ah oui cai vrai j'avais ooblié |
Ce qui mÄetonnes ce que tu specifie null part le nombre d'arguments . T sur qu'il faut pas un NULL a la fin de ton tableau d'arugements ?
Marsh Posté le 07-01-2004 à 11:22:20
et si, gagné
Citation : |
Marsh Posté le 07-01-2004 à 11:22:42
Ui, il faut un NULL.
Marsh Posté le 07-01-2004 à 11:28:38
(Faut définir arguments comme un char[9], du coup, pour rajouter le NULL J'adore C/C++ )
Marsh Posté le 07-01-2004 à 11:29:34
Taiche a écrit : (Faut définir arguments comme un char[9], du coup, pour rajouter le NULL J'adore C/C++ ) |
t'as maté mon paté de cette nuit ?
Marsh Posté le 07-01-2004 à 11:31:47
chrisbk a écrit : |
Oussa ?
Marsh Posté le 07-01-2004 à 11:34:31
Ah ouais, j'avais bien rigolé
Mais bon, on va pas troller ici pour pas pourrir le topic
Marsh Posté le 07-01-2004 à 11:36:22
Taiche a écrit : |
et alors, ta fine explication ?
pis il est resolu stopic, c juste botman qui fait l'ane et qui lit pas la doc
Marsh Posté le 07-01-2004 à 11:40:43
chrisbk a écrit : |
Ah ba j'en sais rien, moi J'connais pas les méandres de C++, j'ai d'jà du mal avec les pointeurs et les références...
Marsh Posté le 07-01-2004 à 11:42:37
Taiche a écrit : |
pour la petite histoire la reponse a la question bonus c'est :
test( (void*)(tB*) t);
et tout ceci vient du fait que :
(tA*)t != (tB *)t (en terme d'adresse)
la grosse feinte du pere lafeinte quoi
Marsh Posté le 07-01-2004 à 12:17:54
chrisbk a écrit : BOTMAN KESTUFOUS ?? SKOI DSE CODE DE MERDE |
finalement j'ai utilisé system au lieu d'execvp ca amrchebcp mieux
Marsh Posté le 07-01-2004 à 12:23:59
on se decarcasse pour toi et toi tu nous trompes avec cette petite fonction a la con, bravo
Marsh Posté le 07-01-2004 à 11:03:59
bonjour,
j'ai un petit probleme : j'essaie dans un code C++ d'integrer un outil de maillage qui se lance en ligne de commandes, avec un certain nombre d'arguments. J'utilise donc _execv ou _execvp fournies dans Process.h.
Le chemin vers l'executable du mailleur est dans le path de windows. Voici comment je definis les arguments et comment je lance le mailleur :
char *arguments[8];
char buffer[30];
arguments[0] = "C:\devel\bamg\Debug\bamg";
arguments[1] = "-g";
arguments[2] = GeometryFileName.GetBuffer();
arguments[3] = "-o";
arguments[4] = MeshFileName.GetBuffer();
arguments[5] = "-thetaquad";
sprintf(&(buffer[0]), "%f", angle);
arguments[6] = &(buffer[0]);
arguments[7] = "-2q";
//Appel systeme
i = _execv(arguments[0], arguments);
bidule = errno;
errno indique 22 comme code d'erreur , soit une erreur d'argument. or tous mes arguments sont censes etre bons , j'ai teste cette ligne de commande en dehors de ce contexte.
De plus lorsque je vire le chemin complet vers l'executable j'ai une erreur mémoire qui se produit, alors qu'avec mon path, ca devrait etre bon.
Ou puis je avoir faitune erreur
passke la, je vois pas