IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

problème avec la fonction system pour ouvir un fichier contenant des espaces


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 16
    Points
    16
    Par défaut problème avec la fonction system pour ouvir un fichier contenant des espaces
    salut, j'ai un problème avec cette fonction qui a pour but d'ouvrir un fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("start \"D:\\Dossier\\Fichier.jpg\"") ;
    et si je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("\"D:\\Dossier Espacé\\Fichier Espacé.jpg\"") ;
    ça marche mais l'application principal est bloqué, et je ne peux la controler qu'apres avoir fermer le fichier ouvert. c'est pourquoi je veux utiliser "start".
    et je n'ai pas spécifier avec quoi l'ouvrir car le fichier va être variable.
    autrefois j'ai utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SetCurrentDir(CheminExecutable.c_str());
    system("start fichier.jpg");
    et ça marchais, mais avec un fichier qu'a des espaces ça ne marche pas même avec des \".
    j'aimerais bien votre aide, merci.

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    personne ne sait ???

  3. #3
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Utilises les fonctions propriétaires à ton OS -- vu que ce que tu fais ne l'es pas.
    (auquel cas, pas le bon forum)

    (Sinon, j'imagine que tu as déjà testé le "start 'toto avec/espaces/fichiers.jpg'"...)

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    je suis sous windows XP, et je sais pas comment utiliser les fonctions propriétaires à mon OS (sinon je l'aurais fais ).
    et le "start 'toto avec/espaces/fichiers.jpg'" je l'ai déja fais et écrit c'est
    system("start \"D:\\Dossier Espacé\\Fichier Espacé.jpg\"") ;

  5. #5
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Citation Envoyé par kratosss Voir le message
    je suis sous windows XP, et je sais pas comment utiliser les fonctions propriétaires à mon OS (sinon je l'aurais fais ).
    D'où l'intérêt de poster dans le forum qui va bien si la fonction standard ne résout pas ton problème.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    j'avou ne pas t'avoir bien compris, c'est quoi le forum qui va bien vu que je suis sur C++ builder ?

  7. #7
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 279
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 279
    Points : 11 015
    Points
    11 015
    Par défaut
    Ici, c'est C++ -- aurais-tu été redirigé ici par un modo qui vu plus vu "system" que "start" ?

    Et c'est le forum lié à l'api win32 pour les fonctions shellmachin qui servent à implémenter start -- il n'est pas impossible que la FAQ win32 en parle soit dit en passant.

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    j'ai toujours pas bien pigé, enfin bref, merci luc , et si quelqu'un aurait eu le même problème ou connais LA SOLUTION même si c'est pas vraiment la place de ma question ( vu qu'il y'a 200 forum, j'ai pas eu le temps de tout voir ).

  9. #9
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    La commande start est, pour moi, un exemple parfait d'avoir voulu en faire trop et avoir tout fichu par terre à cause de ça.

    La problème majeur de cette commande, c'est qu'elle réserve un traitement spécial à certains arguments quand ils sont entourés de guillemets!
    Alors que parfois, ce que tu veux, c'est juste lancer une commande dans un nouveau processus...

    Pour moi, tu auras plus vite fait de te créer ton propre programme "startlite" qui appelle la fonction CreateProcess() de Windows...

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 29
    Points : 16
    Points
    16
    Par défaut
    personne ne sait ???

Discussions similaires

  1. [AC-2007] Problème avec la fonction DateAdd pour décompter des mois
    Par lio33 dans le forum VBA Access
    Réponses: 2
    Dernier message: 04/05/2012, 09h57
  2. Réponses: 2
    Dernier message: 13/11/2011, 15h23
  3. Réponses: 1
    Dernier message: 25/02/2009, 09h44
  4. Réponses: 4
    Dernier message: 10/03/2008, 03h59
  5. Réponses: 14
    Dernier message: 01/05/2007, 19h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo