Exécuter ce qui est contenu dans une variable

Résolu/Fermé
Yvan64320 Messages postés 33 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 25 août 2011 - 3 août 2011 à 10:20
Yvan64320 Messages postés 33 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 25 août 2011 - 3 août 2011 à 11:19
Bonjour,

J'essaye de faire un petit programme en c++ qui me permettrait d'exécuter des fichiers dont leurs chemins sur la machine sont stocké dans un fichier texte.
Cependant je n'arrive pas à exécuter la variable récupérée et son contenu (chemin d'accès du fichier).
Voici mon code:

#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
int main()

{
ifstream fichier("D:\\test.txt");

if(fichier)
{
//L'ouverture s'est bien passée. On peut donc lire

string ligne; //Une variable pour stocker les lignes lues

while(getline(fichier, ligne)) //Tant qu'on n'est pas a la fin, on lit, et on met dans la variable ligne le contenu de la ligne.
{

#ifdef WIN32 //Sous Windows
system("start ");
#endif
return EXIT_SUCCESS;
}
}
else
{
cout << "ERREUR: Impossible d'ouvrir le fichier en lecture." << endl;
}
system("PAUSE");//mettre l'affichage de la console en pause pour pas qu'elle se referme automatiquement.
return 0;
}


si quelqu'un aurait une idée !! .. cela ce passe au niveau de #ifdef WIN32 et system("start")..
comment faire pour exécuter le contenu de ma variable j'ai bien testé system("start $ligne") mais sans succès.
Merci d'avance :)

3 réponses

Yvan64320 Messages postés 33 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 25 août 2011
3 août 2011 à 11:11
c'est bon en trifouillant sur le net j'ai trouvé la solution :

system(ligne.c_str()); // execute le contenu de la variable ligne.

Si cela peut aider quelqu'un ;)
0
Fallentree Messages postés 2309 Date d'inscription mercredi 25 février 2009 Statut Membre Dernière intervention 22 juillet 2019 208
3 août 2011 à 11:12
il me semble que tu ne testes juste l existance du fichier.
tu ouvre pas de flux entre ta variable et le fichier.
regardes fopen ou une fonction du genre..
0
Yvan64320 Messages postés 33 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 25 août 2011
3 août 2011 à 11:19
ok je vais regarder quand même, Merci à toi pour ta réponse.
0