Comment ouvrir un fichier avec la fonction system portant le nom d'une variable? [Résolu]

Signaler
-
Messages postés
14
Date d'inscription
vendredi 14 mai 2021
Statut
Membre
Dernière intervention
31 mai 2021
-
Bonjour, j'aimerais savoir comment je pourrais ouvrir un fichier à l'aide de la fonction "system" portant le nom du contenu d'une variable...

Par exemple:


#include <iostream>

int main()
{
int a;
std::cin >> a;

system("start a")

return 0;
}


Mais cela ne fonctionne pas car l'exécuteur prend le NOM de la variable "a", et non le CONTENU de la variable "a", pour le nom du fichier à ouvrir...

Merci d'avance à celui qui trouvera la solution!


Configuration: Windows / Firefox 85.0

5 réponses

Messages postés
15994
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juin 2021
867
bonjour,
et la variable nommée start?
Messages postés
567
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
12 juin 2021
76
Bonjour,

La fonction system() attend un chaine de caractère qui doit être ce que tu veux faire, il faut construire cette chaine et la passer à la fonction.
Je sais déjà qu'il faut mettre une chaîne de caractères comme:


system(start FICHIER.exe)


Mais moi je voudrais qu il ouvre un fichier postant le nom du contenu de la variable...
Messages postés
567
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
12 juin 2021
76
std::string  nom = "fichier.exe";
std::string  texte_construit;
texte_construit = "start " + nom;  // construit un texte par concaténation
system( texte_construit.c_str() ); // passe le texte à la fonction
Messages postés
14
Date d'inscription
vendredi 14 mai 2021
Statut
Membre
Dernière intervention
31 mai 2021

Ça fonctionne! Merci beaucoup Dalfab! Sans toi, je n'aurais jamais réussi!
Messages postés
15994
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juin 2021
867
peux-tu alors marquer la discussion comme résolue?
Messages postés
14
Date d'inscription
vendredi 14 mai 2021
Statut
Membre
Dernière intervention
31 mai 2021
>
Messages postés
15994
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
12 juin 2021

Non je ne peux pas, désolé, quand j'ai posé ma question, je n'étais pas encore membre.