begin process at 2010 03 14 08:49:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

compatibilite de fichiers


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

compatibilite de fichiers

vendredi 22 août 2003 à 12:15:29 | compatibilite de fichiers

liloupucienne

Salut je voudrai lancer un exe dans mon pg et cet exe doit recevoir des parametres quelqu'un sait comment je peux faire ??
je precise un peu:
il s'agit de transformer des fichiers textes cree sous windows pour que mon exec qui tourne sous unix puisse les traiter (en fait c'est pour les rendre compatible) le nom du pg que j'utilise pour faire cela est fromdos et il doit recevoir en parametre le fichier a transformer puis mon programme fait le traitement
de plus je dois pouvoir le faire plusieurs fois car je traite plusieurs fichiers et donc avant de faire quoi que ce soit je dois etre sur que mes fichiers seront lisible correctement (notament avec un marqueur de fin de ligne qui sera reconnu)
vendredi 22 août 2003 à 12:32:24 | Re : compatibilite de fichiers

Kaid

En Win32, il y a CreateProcess() mais pour une compatibilité Unix/Win regarde du côté de system() ou exec().

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> Salut je voudrai lancer un exe dans mon pg et cet exe doit recevoir des parametres quelqu'un sait comment je peux faire ??
> je precise un peu:
> il s'agit de transformer des fichiers textes cree sous windows pour que mon exec qui tourne sous unix puisse les traiter (en fait c'est pour les rendre compatible) le nom du pg que j'utilise pour faire cela est fromdos et il doit recevoir en parametre le fichier a transformer puis mon programme fait le traitement
> de plus je dois pouvoir le faire plusieurs fois car je traite plusieurs fichiers et donc avant de faire quoi que ce soit je dois etre sur que mes fichiers seront lisible correctement (notament avec un marqueur de fin de ligne qui sera reconnu)
vendredi 22 août 2003 à 14:12:26 | Re : compatibilite de fichiers

liloupucienne

j' ai deja vu ces commandes mais comment je peux lui passer les arguments necessaire qui d'ailleurs se trouve dans un vector
est ce que je peux faire qqch du type:
for (int i=0; i<vec.size();i++)
system("nompg vec[i]");


-------------------------------
Réponse au message :
-------------------------------

> En Win32, il y a CreateProcess() mais pour une compatibilité Unix/Win regarde du côté de system() ou exec().
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Salut je voudrai lancer un exe dans mon pg et cet exe doit recevoir des parametres quelqu'un sait comment je peux faire ??
> > je precise un peu:
> > il s'agit de transformer des fichiers textes cree sous windows pour que mon exec qui tourne sous unix puisse les traiter (en fait c'est pour les rendre compatible) le nom du pg que j'utilise pour faire cela est fromdos et il doit recevoir en parametre le fichier a transformer puis mon programme fait le traitement
> > de plus je dois pouvoir le faire plusieurs fois car je traite plusieurs fichiers et donc avant de faire quoi que ce soit je dois etre sur que mes fichiers seront lisible correctement (notament avec un marqueur de fin de ligne qui sera reconnu)
>
vendredi 22 août 2003 à 15:07:41 | Re : compatibilite de fichiers

Kaid

Il faut tester mais ce que tu veux faire devrait marcher. Mais si tu veux passer tous les éléments du vecteur comme paramètres à ton programme tu ne peux pas faire comme ca. Utilise une string dans laquelle tu mets le nom du programme puis tous les paramètres provenants du vecteur (sans oublier les espaces pour les séparer).

Sinon il est peut-être plus rapide d'utiliser execv().



// Ton tableau de paramètres
std::vector<std::string> tabParam;

// Le tableau que l'on va passer à execv
const char** tabParamExecv=new char* [(tabParam.size() + 1) * sizeof(const char*)];

// Recopie des valeurs
int i=0;
for(std::vector<std::string>::iterator it=tabParam.begin();it!=tabParam.end();it++)
tabParamExecv[i++]=(*it).c_str();

// Ajout du NULL qui détermine la fin du tableau
tabParamExecv[i]=NULL;

// Appel de execv
execv(STR_CMDNAME, tabParamExecv);



Code non testé donc pas forcément juste.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> j' ai deja vu ces commandes mais comment je peux lui passer les arguments necessaire qui d'ailleurs se trouve dans un vector
> est ce que je peux faire qqch du type:
> for (int i=0; i<vec.size();i++)
> system("nompg vec[i]");
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > En Win32, il y a CreateProcess() mais pour une compatibilité Unix/Win regarde du côté de system() ou exec().
> >
> > Kaid - kaid.fr.st
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Salut je voudrai lancer un exe dans mon pg et cet exe doit recevoir des parametres quelqu'un sait comment je peux faire ??
> > > je precise un peu:
> > > il s'agit de transformer des fichiers textes cree sous windows pour que mon exec qui tourne sous unix puisse les traiter (en fait c'est pour les rendre compatible) le nom du pg que j'utilise pour faire cela est fromdos et il doit recevoir en parametre le fichier a transformer puis mon programme fait le traitement
> > > de plus je dois pouvoir le faire plusieurs fois car je traite plusieurs fichiers et donc avant de faire quoi que ce soit je dois etre sur que mes fichiers seront lisible correctement (notament avec un marqueur de fin de ligne qui sera reconnu)
> >
>
vendredi 22 août 2003 à 15:08:29 | Re : compatibilite de fichiers

Kaid

J'ai oublié le delete du tableau tabParamExecv.

Kaid - kaid.fr.st

-------------------------------
Réponse au message :
-------------------------------

> Il faut tester mais ce que tu veux faire devrait marcher. Mais si tu veux passer tous les éléments du vecteur comme paramètres à ton programme tu ne peux pas faire comme ca. Utilise une string dans laquelle tu mets le nom du programme puis tous les paramètres provenants du vecteur (sans oublier les espaces pour les séparer).
>
> Sinon il est peut-être plus rapide d'utiliser execv().
>
>

>
> // Ton tableau de paramètres
> std::vector<std::string> tabParam;
>
> // Le tableau que l'on va passer à execv
> const char** tabParamExecv=new char* [(tabParam.size() + 1) * sizeof(const char*)];
>
> // Recopie des valeurs
> int i=0;
> for(std::vector<std::string>::iterator it=tabParam.begin();it!=tabParam.end();it++)
> tabParamExecv[i++]=(*it).c_str();
>
> // Ajout du NULL qui détermine la fin du tableau
> tabParamExecv[i]=NULL;
>
> // Appel de execv
> execv(STR_CMDNAME, tabParamExecv);
>
>

>
> Code non testé donc pas forcément juste.
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > j' ai deja vu ces commandes mais comment je peux lui passer les arguments necessaire qui d'ailleurs se trouve dans un vector
> > est ce que je peux faire qqch du type:
> > for (int i=0; i<vec.size();i++)
> > system("nompg vec[i]");
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > En Win32, il y a CreateProcess() mais pour une compatibilité Unix/Win regarde du côté de system() ou exec().
> > >
> > > Kaid - kaid.fr.st
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Salut je voudrai lancer un exe dans mon pg et cet exe doit recevoir des parametres quelqu'un sait comment je peux faire ??
> > > > je precise un peu:
> > > > il s'agit de transformer des fichiers textes cree sous windows pour que mon exec qui tourne sous unix puisse les traiter (en fait c'est pour les rendre compatible) le nom du pg que j'utilise pour faire cela est fromdos et il doit recevoir en parametre le fichier a transformer puis mon programme fait le traitement
> > > > de plus je dois pouvoir le faire plusieurs fois car je traite plusieurs fichiers et donc avant de faire quoi que ce soit je dois etre sur que mes fichiers seront lisible correctement (notament avec un marqueur de fin de ligne qui sera reconnu)
> > >
> >
>
vendredi 22 août 2003 à 15:23:35 | Re : compatibilite de fichiers

HCJarod

J'ai déja eu l'occasion (sauf que la source est introuvable dans mon fouilli) d'utiliser system() et comme l'a dit Kaid, utilise un tableau contenant le nom de l'exe,et le paramètre.
Un exemple avec Bloc note :

char ordre[25];
strcpy(ordre,"Notepad");
strcat(ordre," readme.txt");//attention a ne pas oublier l'espace de readme.txt
system(ordre);

et ça marche du tonner. Il te reste à adapter pour les arguments de ton tableau mais je te fais confiance...
a+


-------------------------------
Réponse au message :
-------------------------------

> J'ai oublié le delete du tableau tabParamExecv.
>
> Kaid - kaid.fr.st
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Il faut tester mais ce que tu veux faire devrait marcher. Mais si tu veux passer tous les éléments du vecteur comme paramètres à ton programme tu ne peux pas faire comme ca. Utilise une string dans laquelle tu mets le nom du programme puis tous les paramètres provenants du vecteur (sans oublier les espaces pour les séparer).
> >
> > Sinon il est peut-être plus rapide d'utiliser execv().
> >
> >

> >
> > // Ton tableau de paramètres
> > std::vector<std::string> tabParam;
> >
> > // Le tableau que l'on va passer à execv
> > const char** tabParamExecv=new char* [(tabParam.size() + 1) * sizeof(const char*)];
> >
> > // Recopie des valeurs
> > int i=0;
> > for(std::vector<std::string>::iterator it=tabParam.begin();it!=tabParam.end();it++)
> > tabParamExecv[i++]=(*it).c_str();
> >
> > // Ajout du NULL qui détermine la fin du tableau
> > tabParamExecv[i]=NULL;
> >
> > // Appel de execv
> > execv(STR_CMDNAME, tabParamExecv);
> >
> >

> >
> > Code non testé donc pas forcément juste.
> >
> > Kaid - kaid.fr.st
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > j' ai deja vu ces commandes mais comment je peux lui passer les arguments necessaire qui d'ailleurs se trouve dans un vector
> > > est ce que je peux faire qqch du type:
> > > for (int i=0; i<vec.size();i++)
> > > system("nompg vec[i]");
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > En Win32, il y a CreateProcess() mais pour une compatibilité Unix/Win regarde du côté de system() ou exec().
> > > >
> > > > Kaid - kaid.fr.st
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Salut je voudrai lancer un exe dans mon pg et cet exe doit recevoir des parametres quelqu'un sait comment je peux faire ??
> > > > > je precise un peu:
> > > > > il s'agit de transformer des fichiers textes cree sous windows pour que mon exec qui tourne sous unix puisse les traiter (en fait c'est pour les rendre compatible) le nom du pg que j'utilise pour faire cela est fromdos et il doit recevoir en parametre le fichier a transformer puis mon programme fait le traitement
> > > > > de plus je dois pouvoir le faire plusieurs fois car je traite plusieurs fichiers et donc avant de faire quoi que ce soit je dois etre sur que mes fichiers seront lisible correctement (notament avec un marqueur de fin de ligne qui sera reconnu)
> > > >
> > >
> >
>
vendredi 22 août 2003 à 15:42:59 | Re : compatibilite de fichiers

liloupucienne



Merci à tous, je test et je vous tiens au courant ;-)


-------------------------------
Réponse au message :
-------------------------------

> J'ai déja eu l'occasion (sauf que la source est introuvable dans mon fouilli) d'utiliser system() et comme l'a dit Kaid, utilise un tableau contenant le nom de l'exe,et le paramètre.
> Un exemple avec Bloc note :
>
> char ordre[25];
> strcpy(ordre,"Notepad");
> strcat(ordre," readme.txt");//attention a ne pas oublier l'espace de readme.txt
> system(ordre);
>
> et ça marche du tonner. Il te reste à adapter pour les arguments de ton tableau mais je te fais confiance...
> a+
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J'ai oublié le delete du tableau tabParamExecv.
> >
> > Kaid - kaid.fr.st
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Il faut tester mais ce que tu veux faire devrait marcher. Mais si tu veux passer tous les éléments du vecteur comme paramètres à ton programme tu ne peux pas faire comme ca. Utilise une string dans laquelle tu mets le nom du programme puis tous les paramètres provenants du vecteur (sans oublier les espaces pour les séparer).
> > >
> > > Sinon il est peut-être plus rapide d'utiliser execv().
> > >
> > >

> > >
> > > // Ton tableau de paramètres
> > > std::vector<std::string> tabParam;
> > >
> > > // Le tableau que l'on va passer à execv
> > > const char** tabParamExecv=new char* [(tabParam.size() + 1) * sizeof(const char*)];
> > >
> > > // Recopie des valeurs
> > > int i=0;
> > > for(std::vector<std::string>::iterator it=tabParam.begin();it!=tabParam.end();it++)
> > > tabParamExecv[i++]=(*it).c_str();
> > >
> > > // Ajout du NULL qui détermine la fin du tableau
> > > tabParamExecv[i]=NULL;
> > >
> > > // Appel de execv
> > > execv(STR_CMDNAME, tabParamExecv);
> > >
> > >

> > >
> > > Code non testé donc pas forcément juste.
> > >
> > > Kaid - kaid.fr.st
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > j' ai deja vu ces commandes mais comment je peux lui passer les arguments necessaire qui d'ailleurs se trouve dans un vector
> > > > est ce que je peux faire qqch du type:
> > > > for (int i=0; i<vec.size();i++)
> > > > system("nompg vec[i]");
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > En Win32, il y a CreateProcess() mais pour une compatibilité Unix/Win regarde du côté de system() ou exec().
> > > > >
> > > > > Kaid - kaid.fr.st
> > > > >
> > > > > -------------------------------
> > > > > Réponse au message :
> > > > > -------------------------------
> > > > >
> > > > > > Salut je voudrai lancer un exe dans mon pg et cet exe doit recevoir des parametres quelqu'un sait comment je peux faire ??
> > > > > > je precise un peu:
> > > > > > il s'agit de transformer des fichiers textes cree sous windows pour que mon exec qui tourne sous unix puisse les traiter (en fait c'est pour les rendre compatible) le nom du pg que j'utilise pour faire cela est fromdos et il doit recevoir en parametre le fichier a transformer puis mon programme fait le traitement
> > > > > > de plus je dois pouvoir le faire plusieurs fois car je traite plusieurs fichiers et donc avant de faire quoi que ce soit je dois etre sur que mes fichiers seront lisible correctement (notament avec un marqueur de fin de ligne qui sera reconnu)
> > > > >
> > > >
> > >
> >
>


Cette discussion est classée dans : exe, fichiers, recevoir, pg, compatibilite


Répondre à ce message

Sujets en rapport avec ce message

[Visual C++] Aide fichiers exe [ par WarioZ ] bonjour a tous,je débute en C++ et j'ai un probleme avec les fichiers exe que je cree a partir de mes codes sources...Quand je les execute a partir de Inserer des fichiers dans mon EXE [ par Zeus555 ] Salut a tous !voilà une question que je me pose depuis quelques jours j'utilise Borland c++ et j'aimerais savoir s'il y a possibilité d'inclure des fi 4 fichiers en 1 [ par l0sth34d ] bonjour, jaimerais savoir comment faire pour pouvoir prendre mes 3 fichiers .txt et mon fichier .exe et les mettre en 1 .exe qui s'extrais lorsqu'il e fichiers dans .exe [ par didoux95 ] Bonjour a tous.Je debut en C/C++ (je programme en JAVA).J'aurais aimé savoir comment est ce que je peu faire pour inserer un fichier dans mon exe et p Comment recevoir des fichiers excel via internet [ par trisod ] Je veux mettre un fichier excel sur internet que les établissements universitaires doivent le télécharger puis le remplir et le faire retourner leurs mettre plusieurs fichiers en un seul .exe [ par gomoz ] bonjour,je voudrai savoir comment faire pour mettre plusieurs fichiers dans un seul executable dont je choisirai la destination. C'est sans doute poss 2 fichiers en 1 (EXE + SYS= EXE) [ par tucco ] Salut a tous,Merci a tous, pour tous ces codes qui me sont personnellement, en tant qu autodidacte, d une precieuse aide.La j ai un probleme que je n plusieurs fichiers CPP dans un exe ? [ par papi2 ] Bonjour,Est-il possible de mettre plusieurs fichiers cpp (qui en fait sont des fenêtres) dans un seul exe, plutôt que d'avoir un exe pour chaque fichi acces aus fichiers [ par imados2002 ] bjr je dois faire un faire un petit projet sur l acces aleatoire aux fichiers  dans le language C pouvez vous m'aider?? Application Socket transfert fichiers [ par aymane2006 ] bjr en fait je cherche une application de transfert de fichiers,un ou plusieurs clients qui se connectent a un serveur,une fois la connection établie


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales