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 inconnue en c++


Sujet :

C++

  1. #1
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut problème inconnue en c++
    bonjour
    je suis quoi dire
    mon programme à cesser de marcher soudainement
    lors de l'exécution il m'affiche ça:
    Nom : runtime.jpg
Affichages : 200
Taille : 19,0 Ko

    et la lecture de mon image aussi ne marche plus:
    Nom : cimg.jpg
Affichages : 80
Taille : 9,3 Ko

    mais si je déplace tout(c'est à dire le .exe et l'image dans un dossier sous c
    alors ça fonctionne
    merci pour toute aide

  2. #2
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    C'est spécifique au contexte, apparement ton programme cherche à ouvrir un fichier qu'il ne trouve pas. Pas grand chose d'autres à dire sans code à montrer.

  3. #3
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut
    j'ai déplacer le dossier juste dans c:\
    ça marche, il lit l'image,
    mais dans c:\user\moi\dossier\......\ ça marche pas

  4. #4
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut
    j'ai trouvé 50% du problème

    en fait si le nom du dossier contient des espaces alors le programme se plonte
    et la bibliothèque ne peut pas lire le fichier

    pourtant avant j'avais pas ce problème

    alors avez vous une idée pour corriger ça?

  5. #5
    Membre chevronné
    Avatar de NewbiZ
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2002
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2002
    Messages : 184
    Par défaut
    Comme dit plus haut: c'est un forum C++, si tu ne montres pas de code source C++, difficile d'aider...

  6. #6
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut
    pour la récupération du nom de l'image c'est avec argv[1]

    et pour l'exécution j'utilise console dos.
    peut etre ya une configuration dans visual c++ ou bien dans windows ou msdos
    je sais plus

  7. #7
    Membre Expert
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Par défaut
    Salut,

    essaie d'afficher argv[1] pour voir ce qu'il contient, si le problème ne vient pas déjà de là.

  8. #8
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Citation Envoyé par fatjoe Voir le message
    pour la récupération du nom de l'image c'est avec argv[1]
    C'est à l'utilisateur d'un programme de faire attention à bien mettre des " là où il faut quand il passe en paramètre un nom de fichier avec des espaces.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  9. #9
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Il faut savoir que les arguments passés en ligne de commande sont simplement séparés par des espace...

    Ainsi un appel de
    monapp.exe c:\documents and settings\koala01\mon fichier.txt sera évalué sous la forme de
    • argv[0] monapp.exe
    • argv[1] c:\\documents
    • argv[2] and
    • argv[3] settings\\koala01\\mon
    • argv[4] fichier.txt

    Si tu veux éviter le problème, il faut donc que l'utilisateur indique que tout cela ne fait qu'une seule et même chaine de caractère et qu'il la mette entre guillemets (ou que tu prenne en considération le fait que, si tu as plus d'un arguments, les suivants doivent servir à completer le chemin du fichier à ouvrir )
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  10. #10
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut
    tout d'abord j'écrit dans la console dos
    cd c:\dossier 1\dossier 2\..... [entrée]
    mon_application.exe image.bmp [entrée]

    donc aprés avoir déplacer dans le bon chemin j'écrit le nom de mon application
    sans espaces, en fait les espaces sont dans les dossiers du chemin
    et je peux pas faire mettre entre " " le chemin dans dos,
    c'est à dire je peux pas écrire cd "c:\dossier 1\dossier 2\..."


  11. #11
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Il faut faire le distingo entre ce qui est nécessaire pour "dos" et ce qui est nécessaire pour l'application...

    Comme tu appelle ton application, ce qui est autorisé (ou non) par "dos" n'a strictement rien à voir

    ce qui importe surtout, c'est que, pour l'application, le chemin soit reconnu comme étant une seule et même chaine de caractères.

    Après, s'il s'agit effectivement de supprimer les guillemets parce qu'ils sont en trop dans la chaine de caractères, c'est faisable en une seule instruction bien sentie dés que tu as créé une std::string basée sur argv[1]
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  12. #12
    Inactif
    Inscrit en
    Novembre 2007
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 369
    Par défaut
    merci bien pour vos aides.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème inconnu avec SDL
    Par flintoo dans le forum SDL
    Réponses: 17
    Dernier message: 09/11/2009, 08h28
  2. Problème inconnu dans mon code
    Par mouchT8 dans le forum C
    Réponses: 5
    Dernier message: 17/05/2008, 20h52
  3. Réponses: 3
    Dernier message: 22/10/2007, 20h43
  4. Périphériques : Problème inconnu
    Par mick009 dans le forum Windows XP
    Réponses: 19
    Dernier message: 24/08/2007, 16h06
  5. Problème inconnu
    Par Goundy dans le forum C
    Réponses: 5
    Dernier message: 16/10/2005, 17h10

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