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

Résolu
Elecsupchi -  
 Elecsupchi -
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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour,
    et la variable nommée start?
    0
  2. Dalfab Messages postés 638 Date d'inscription   Statut Membre Dernière intervention   102
     
    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
  3. 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
  4. Dalfab Messages postés 638 Date d'inscription   Statut Membre Dernière intervention   102
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

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