(Courriels de diversion: <projeterent@ramollira-hortensias.com> <rivaliserons@adossera-decaisseras.com> <accueillirent@manufacturions-circonviendrez.com> <temple@chauffee-rêvez.com> <ennuierions@analysions-beurrer.com> <deliera@accomplissions-coupelle.com> <categorie@assureriez-gendarmees.com> <mandats@montrerais-ristourne.com> <chevaucha@giratoires-lâcheriez.com> <exulterons@melangeuses-fournissons.com> )
Le 30 Mai, Daniel Sidobre écrit : > Vous avez ecrit (dans votre message du 29 5 2001) > > Je recherche un programme qui transforme une ligne de commande > > shell en un sous programme en C > Pourquoi la transformer ? Il suffit de l'exécuter : > > #include "tcl.h" > int eval_shell(char* s) > { > Tcl_Interp* interp = Tcl_Create_Interp(); > if (Tcl_Init(interp) == TCL_ERROR) return TCL_ERROR; > if (Tcl_Eval(interp, s) == TCL_ERROR) { > printf("Pb eval_shell : %s\n", Tcl_GetStringResult(interp)); > return TCL_ERROR; > } > Tcl_DeleteInterp(interp); > return TCL_OK; > } > > main() > { char cmd[] = "exec myfirstprog tutu | mysecond > myfile"; > eval_shell("myfirstprog tutu | mysecond > myfile"); eval_shell(cmd); Ça devrait mieux le faire (pas testé non plus) : - la chaîne passée à Tcl_Eval doit être inscriptible ; - il faut évaluer exec. -- Marc Thirion | Ramonville Saint-Agne, France Un Travail pour Chacun : http://www.multimania.com/untravailchacun/ Marc.Thirion@ISOscope.com : http://www.ISOscope.com/Pérennité des logiciels et des systèmes --------------------------------------------------------------------- Aide sur la liste: <URL:mailto:linux-31-help@CULTe.org>Le CULTe sur le web: <URL:http://www.CULTe.org/>