Comment ouvrir un fichier avec la fonction system portant le nom d'une variable?

Résolu
Elecsupchi -  
Elecsupchi Messages postés 14 Statut Membre -
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
A voir également:

5 réponses

yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
bonjour,
et la variable nommée start?
0
Dalfab Messages postés 720 Statut Membre 101
 
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.
0
Elecsupchi
 
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...
0
Dalfab Messages postés 720 Statut Membre 101
 
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
0

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

Posez votre question
Elecsupchi Messages postés 14 Statut Membre
 
Ça fonctionne! Merci beaucoup Dalfab! Sans toi, je n'aurais jamais réussi!
0
yg_be Messages postés 24281 Statut Contributeur 1 584
 
peux-tu alors marquer la discussion comme résolue?
0
Elecsupchi Messages postés 14 Statut Membre > yg_be Messages postés 24281 Statut Contributeur
 
Non je ne peux pas, désolé, quand j'ai posé ma question, je n'étais pas encore membre.
0