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

Discussion :

Accent sur une valeur de l'argument argv du main

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Juin 2015
    Messages : 21
    Par défaut Accent sur une valeur de l'argument argv du main
    Bonjour,

    Je suis en train de développer une petite application et j'ai un soucis au moment de récupérer une des valeurs contenu dans la variable argv du main.
    Lorsque je tente d'ouvrir un fichier directement et que le chemin contient un caractère accentué, le caractère est remplacé par un "?", ce qui empêche l'ouverture du fichier par l'application.
    J'ai cherché sur internet mais les problèmes que j'ai trouvé concerne surtout l'encodage des fichiers et non de leurs chemin.
    Y aurait il un moyen pour faire en sorte que les accents ne soit pas remplacés par des "?" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
        MainWindow w;
        w.show();
     
        if(argc >= 2){
            QFile *fichier= new QFile(argv[1]);
            w.ouvrirFichierAuDemarrage(fichier);
        }
     
        return a.exec();
    }

    OS : Windows 7
    Qt 5.7.0
    Qt Creator 4.0.2

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Juin 2015
    Messages : 21
    Par défaut
    J'ai réussi à trouver une façon de contourner le problème.
    Voici le code qui marche pour moi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    int main(int argc, char *argv[]) {
        QApplication a(argc, argv);
     
        MainWindow w;
        w.show();
     
        if(argc >= 2){
            QString nomFichier = QString::fromUtf8(QByteArray(argv[1]));
            if(nomFichier.toUtf8() != QByteArray(argv[1])) {
                nomFichier = QString::fromLatin1(QByteArray(argv[1]));
            }
            QFile *fichier = new QFile(nomFichier);
            w.ouvrirFichierAuDemarrage(fichier);
        }
     
        return a.exec();
    }

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

Discussions similaires

  1. [DEBUTANT] test sur une valeur
    Par eclipse012 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/02/2007, 09h52
  2. [Serial] Commencer sur une valeur précise
    Par e1lauren dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 31/07/2006, 14h34
  3. Trier sur une valeur de champs et non sur le nom du champs
    Par kamalkam dans le forum Langage SQL
    Réponses: 1
    Dernier message: 09/05/2006, 17h41
  4. [XSL]appliquer la fonction substring sur une valeur récupéré
    Par totoranky dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 22/02/2006, 17h21
  5. [MySQL 4.1] probleme d'accents sur une requete SQL
    Par tatayoyo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/11/2005, 16h06

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