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

Qt Discussion :

Lecture de QString dans fichier binaire


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Par défaut Lecture de QString dans fichier binaire
    Bonjour,

    j'ai un soucis avec la lecture d'un fichier binaire que je lis avec QDataStream.
    En réalité dans ce fichier sont stocké seulement des séries de 5 QString.
    Ces QString comprennent des sauts de lignes.
    Comment puis je les lire?
    Je ne suis même pas sur que ce soit possible...

    Merci par avance

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut
    Citation Envoyé par katanaenmousse Voir le message
    Bonjour,

    j'ai un soucis avec la lecture d'un fichier binaire que je lis avec QDataStream.
    En réalité dans ce fichier sont stocké seulement des séries de 5 QString.
    Ces QString comprennent des sauts de lignes.
    Comment puis je les lire?
    Je ne suis même pas sur que ce soit possible...

    Merci par avance
    Quel est ton souci exactement?

    Peut être utiliser http://qt.developpez.com/doc/latest/...erator-gt-gt-4

  3. #3
    Membre confirmé
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Par défaut
    Salut,
    Mon soucis est qu'en réalité je ne suis pas sur que l'on puisse ecrire plusieurs QString dans un fichier binaire et ensuite que l'ont réussisse à lire le fichier binaire en séparant les QString.
    Car si j'ai bien compris, quand on lit un fichier binaire, il faut savoir la longueur de la variable que l'ont veut lire. Or, il me semble que QString n'a pas une longueur fixe si? (par longueur j'entend nbre d'octets)
    Donc si je veux lire le fichier je ne sais pas où commence et s'arretent mes variables QString.
    Je me trompe?

    Si je me trompe, comment puis je faire pour stocker mes QString (qui contiennent des espaces et des saut de lignes) dans un fichier, et ensuite les lire?
    la je galere encore

    ------
    Pour faire complet :
    En fait je tente de sauvegarder les données suivantes et de les relires ensuite à partir du fichier.
    QString contenant le nom d'un film
    QString contenant le nom de l'acteur principal
    QString contenant une description du film (avec des sauts de lignes)
    Et bien sur, il y a plusieurs films
    ------

    PS: Je ne peux pas utiliser les QTextStream du fait que mes variables string contiennent des sauts de lignes. Je ne pourrais pas les reconstituer ensuite à la lecture.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par katanaenmousse Voir le message
    PS: Je ne peux pas utiliser les QTextStream du fait que mes variables string contiennent des sauts de lignes. Je ne pourrais pas les reconstituer ensuite à la lecture.


    Pour comprendre,
    Qu'es ce que tu veut stoker dans ton fichier?? Que tu texte?

  5. #5
    Membre confirmé
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Par défaut
    Citation Envoyé par Mongaulois Voir le message


    Pour comprendre,
    Qu'es ce que tu veut stoker dans ton fichier?? Que tu texte?
    J'étais en train de préciser grace a un edit de mon precedent post : désolé

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par katanaenmousse Voir le message
    PS: Je ne peux pas utiliser les QTextStream du fait que mes variables string contiennent des sauts de lignes. Je ne pourrais pas les reconstituer ensuite à la lecture.
    et pourquoi????
    Je ne voie pas en quoi un saut de ligne est problématique

    Ton problème est que tu n'as pas (ou mal) structuré ton fichier.... Du coup t'as ce problème.
    Faire un fichier binaire pour du text, ce n'est pas très logique.... Surtout que tu va te trouver avec plein de problème lié au binaire pour que ton fichier soit lue sur toute le plateforme.


    Tu devrais utilise QXml (ou autre lib xml) pour lire/écrire ton fichier
    http://qt.developpez.com/doc/latest/qtxml.html

  7. #7
    Membre confirmé
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Par défaut
    Je sais que la solution QXml est meilleure, mais je ne sais pas encore m'en servir, et je pensais aussi profiter de mon exemple pour apprendre les fichier binaires.
    Cela dit je vais tenter le QXml.
    Pour ce qui est du QTextStream, il y a un pb vu que ma variable contient des sauts de lignes et que le separateur des fichiers text est un saut de ligne, il y aura forcement confusion non?
    Merci a toi encore

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par katanaenmousse Voir le message
    Je sais que la solution QXml est meilleure, mais je ne sais pas encore m'en servir, et je pensais aussi profiter de mon exemple pour apprendre les fichier binaires.
    Cela dit je vais tenter le QXml.
    A toi de juger

    Citation Envoyé par katanaenmousse Voir le message
    Pour ce qui est du QTextStream, il y a un pb vu que ma variable contient des sauts de lignes et que le separateur des fichiers text est un saut de ligne, il y aura forcement confusion non?
    Merci a toi encore
    TU peut lire ligne par ligne.
    -La première le nom d'un film
    -a deusième le nom de l'acteur
    -tant que ligne non cide
    {
    lecture de la description du film
    }

    Le gros avantage avec le xml, est que tu va surement ajouter petit à petit des informations et que la lecture ne dépendra pas de la manière dont c'est écrit, mais de la structure de tes balises.

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

Discussions similaires

  1. lecture zstring dans fichier binaire
    Par olibara dans le forum C#
    Réponses: 0
    Dernier message: 17/08/2009, 12h58
  2. [VS2005]lecture/écriture dans fichier binaire
    Par shadowmoon dans le forum Windows Forms
    Réponses: 10
    Dernier message: 25/09/2007, 17h30
  3. Lecture nombre flottant dans fichier
    Par Mikolay dans le forum C
    Réponses: 17
    Dernier message: 29/03/2007, 09h26
  4. Ecriture dans fichier binaire
    Par kek_net dans le forum Langage
    Réponses: 2
    Dernier message: 26/07/2006, 13h42
  5. Lecture et parcours de fichiers binaires
    Par john_osaka dans le forum C++
    Réponses: 1
    Dernier message: 07/03/2006, 20h58

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