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 :

Truc bizarre avec QString

  1. #1
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 624
    Points : 43 601
    Points
    43 601
    Par défaut Truc bizarre avec QString
    bonsoir,

    j'ai eu un truc bizarre avec le code suivant :

    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
     
    typedef struct {
    QString chaine1;
    QString chaine2;
    } svg;
     
    QString chaine;
    char* str;
    QList<svg>* sauvegarde;
     
    for (boucle=0;boucle<sauvegarde.count();boucle++)
    {
    chaine=sauvegarde.at(boucle)->chaine1;
    str=chaine.toAscii().data();
    qDebug()<<str;
    }
    str ne retourne pas la valeur du QString.

    J'ai trouvé une solution en remplaçant le str=... par str=qstrdup(qPrintable(chaine)); puis delete str; pour libérer la mémoire allouée mais j'aimerai comprendre car au début cela marchait très bien puis après modif légère de code (je ne sais plus la modif) cela s'est arrêté de fonctionner. Même problème avec toLatin1, toUtf8

    Si quelqu'un peut m'expliquer pourquoi mon 1er code ne fonctionne pas ...

    Merci d'avance.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 624
    Points : 43 601
    Points
    43 601
    Par défaut ça ne marche pas
    En fait ça ne marche pas.
    J'ai le même problème.

    J'ai rien changé à mon code et ça ne fonctionne plus.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 624
    Points : 43 601
    Points
    43 601
    Par défaut j'y comprend plus rien
    C'est à devenir fou !

    J'ai ajouté avant la ligne QByteArray array=chaine.toAscii(); ma ligne str=chaine.toAscii().data();

    Je n'affiche mêrme pas le contenu du QByteArray et ça résout mon problème. Il suffit que je commente la ligne du QByteArray et recompile pour que mon problème se représente.


    quelqu'un a une idée ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    A priori pas d'idée, tu peux essayer d'afficher les différentes étapes pour voir à quel moment ça foire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    qDebug() << chaine << chaine.toAscii() << chaine.toAscii().data();
    Ça sera peut être une indication qui donnera une piste.

Discussions similaires

  1. Truc bizarre avec Clone() et Dispose()
    Par Dokare dans le forum C#
    Réponses: 2
    Dernier message: 03/05/2015, 10h13
  2. [PHP 5.3] Truc bizarre avec les dates
    Par razam dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2015, 16h46
  3. Truc bizarre avec Boost.Phoenix
    Par Mat007 dans le forum Boost
    Réponses: 2
    Dernier message: 20/07/2010, 14h57
  4. un truc bizarre avec l'évaluateur delphi
    Par isachat666 dans le forum EDI
    Réponses: 1
    Dernier message: 07/04/2006, 14h22
  5. [C#] Truc bizarre avec DataSet
    Par bendj dans le forum ASP.NET
    Réponses: 15
    Dernier message: 13/07/2005, 19h51

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