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 :

Qt, QFile, placement dans un fichier, récupérer un int

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2010
    Messages : 17
    Par défaut Qt, QFile, placement dans un fichier, récupérer un int
    Bonjours,
    je rencontre un problème concernant l'utilisation des fichiers avec Qt.
    En surfant dans la doc, et sur le web, je découvre l'existance d'une classe QFile. Tous va très bien jusqu'à ce que j'ai besoin deux choses :
    - Je veux pouvoir me positionner à une ligne particulière, et lire cette ligne.
    Par exemple, utiliser une commande du type fichier.readLine(12), et là, le programme me sort la ligne 12 de mon fichier texte bète et méchant.
    - J'enregistre un bon vieil int dans mon fichier, 1ère ligne, 1er caractère, et il serai interessant de pouvoir le récupérer sous forme d'un int. Sauf, que la méthode mon_chiffre=fichier.readLine(), ne marche pas .

    Ma question est la suivante : comment faire ?

    J'ai déja lu la doc, et je m'y suis complètement perdu au milieu des quint 54, des types divers et variées, et autres ... J'ai déja surfé sur Google, et trouvé des exemples auquels je ne comprend rien

    Merci d'avance de vos réponses

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2010
    Messages : 17
    Par défaut
    Bon, figurez vous que pendant les 3 heures de recherche précédente, j'ai réussi à ne pas trouver QString::toInt().
    C'est quand même trop simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    QString chaine("125");
    int nombre = chaine.toInt();
    Et c'est finit. nombre vaut alors 125.
    Donc l'une des parties de ma questions est résolue, tout seul.
    C'est marrant, c'est souvent en posant la question que l'on trouve les réponses, tout seul.
    Il reste à savoir comment placer le "curseur virtuel de lecture" dans un fichier.

  3. #3
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Ce n'est pas deja dans la FAQ Qt ???
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2010
    Messages : 17
    Par défaut
    Si, c'est la que j'ai trouver pour QString::toInt()
    Ils expliquent aussi ce que je sais déjà pour lire un fichier, mais il n'y a pas comment se placer à un endroit précis du fichier.
    Il doit y avoir une méthode simple non, comme en C, pour aller quelque part, et savoir où on est ?

  5. #5
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    J'ai déja lu la doc, et je m'y suis complètement perdu au milieu des quint 54, des types divers et variées, et autres ... J'ai déja surfé sur Google, et trouvé des exemples auquels je ne comprend rien
    Ce n'est pourtant pas super compliqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    monFichier.readLine(); //lit une ligne
    //Si tu veux aller à la 12eme ligne, tu fais :
    for(int i =0;i<11;i++)
        monFichier.readLine();
     
    QString ma12emeLigne = monFichier.readLine();
    G.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2010
    Messages : 17
    Par défaut
    J'aurais pensé qu'il y avait une méthode plus directe. Mais oui, cela fonctionne parfaitement. Je trouvais juste cette méthode pas très élégante. J'éssai de programmer "dans les règles de l'art", donc je pensais que l'on ne devait pas faire ça pour lire un fichier correctement. Mais merci beaucoup de la réponse ! Je continue mon projet !

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

Discussions similaires

  1. lecture et placement dans un fichier texte
    Par shams dans le forum SL & STL
    Réponses: 3
    Dernier message: 28/05/2007, 15h56
  2. [](VB) Récupérer les données dans un fichier .xml
    Par Furius dans le forum VBScript
    Réponses: 4
    Dernier message: 02/10/2005, 20h39
  3. [XPath] Récupérer l'ID max dans un fichier XML
    Par Phach dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 28/07/2005, 13h57
  4. Récupérer la taille d'une image dans un fichier (GIF/JPEG)
    Par SheikYerbouti dans le forum Multimédia
    Réponses: 4
    Dernier message: 12/05/2005, 14h17
  5. récupérer un entier dans le fichier ".rc"
    Par luffy0013 dans le forum MFC
    Réponses: 2
    Dernier message: 15/02/2005, 12h44

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