Passage d'arguments à un programme

VolaiL Messages postés 14 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 25 mai 2005 - 31 juil. 2003 à 16:09
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 - 1 août 2003 à 14:01
J'ai réalisé un programme en C qui necessite le passage de 2 arguments lors de l'appel de l'executable.
( ex : nom_du_prog arg1 arg2 )

Pas de probleme, je realise cela comme ceci :
int main(int argc, char *argv[])
{
etc....
}

Mais pour une raison, j'ai besoin que les arguments soit séparé non pas par un espace, mais par un caractère spécial ( un peu a l'instar de programme dos bien connu comme dir par exemple qu'on peut appeler en faisant dir/p )

Le problème, c'est que je ne sais pas comment on fait :p

Si kkun pouvait éclairer ma lanterne, il sera remercié par le génie qui apparaitra soudaineemnt devant lui. Eh oui, un éclairage suffit, pas besoin de frotter avec moi ! :p

+

P.S : Je délire, je suis un peu fatigué :/

5 réponses

cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
31 juil. 2003 à 16:19
Salut,
A mon avis tu devrais tout lire dans 1 buffer.
Tu extrais ensuite tes 2 arguments du buffer avec une boucle. Tu lis jusqu'au caractere spetial (= premier argument) et ensuite tu continue a lire jusqu'a la fin (= 2eme argument).
0
VolaiL Messages postés 14 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 25 mai 2005
31 juil. 2003 à 16:26
Hmm, ton message m'a fait réfléchir, mais en fait, je pensais que le fait de passer mes arguments a l'aide d'un séparatuer maiderait, mais en fait, je ne pense pas que ca solutionnera mon problème. Donc, pas la peine de répondre a ce post si vous avez pas torp de tps, sinon, bah ca pourrait tjs etre interessant de savoir.

Et aardman, j'ai bein compri ta solution mais malheureusement, ce n'est pas applicable a mon problème

++
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
31 juil. 2003 à 16:35
c'est vrai qu'un espace entre les arguments faciliterait pas mal la chose, mais si tu tapes:
tonfichier.exe arg1#arg2
avec # caractere spetial,
c'est pas trop compliqué d'obtenir arg1 et arg2 séparement.
0
VolaiL Messages postés 14 Date d'inscription vendredi 11 juillet 2003 Statut Membre Dernière intervention 25 mai 2005
1 août 2003 à 09:14
Comme tu l'a si bein écri , ta solution donne :
tonfichier.exe arg1#arg2
^
|
Il y a un espace la ;)

Mais de toute manière, comme je l'ai di dans ma réponse précédente, même s'il n'y en avais aps, je me sui trompé, ca ne résoudrais pas ma solution

++ , merci kan meme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
1 août 2003 à 14:01
Je voulais dire 2 arguments si tu preferes.
0
Rejoignez-nous