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 :

Extraire des string/char d'un fichier texte

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Extraire des string/char d'un fichier texte
    Bonjour à tous !

    Je suis actuellement en train de créer un programme en QT qui récupère le code source d'une page web et le copie dans un fichier texte.

    Je dois ensuite exploiter le code et récupère certaines chaîne de caractère pour ensuite les stocker dans une base de donnée.

    Mon problème est que j'ai chercher longtemps pour récupérer juste quelques String dans mon fichier texte, j'aimerais savoir comment on peut faire, voici mon code qui insere le code source dans le fichier et le lit :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    #include "Downloader.h"
     
    Downloader::Downloader(QObject *parent) :
        QObject(parent)
    {
    }
     
    void Downloader::doDownload()
    {
        manager = new QNetworkAccessManager(this);
     
        connect(manager, SIGNAL(finished(QNetworkReply*)),
                this, SLOT(replyFinished(QNetworkReply*)));
        //code source à récuperer
        manager->get(QNetworkRequest(QUrl("http://api.worldweatheronline.com/free/v2/weather.ashx?q=Limoges&format=tab&num_of_days=6&key=9914005e91ae8f64adf3f01723557")));
    }
     
    void Downloader::replyFinished (QNetworkReply *reply)
    {
            if(reply->error())
            {
                qDebug() << "ERROR!";
                qDebug() << reply->errorString();
            }
            else
            {
                qDebug() << reply->header(QNetworkRequest::ContentTypeHeader).toString();
                qDebug() << reply->header(QNetworkRequest::LastModifiedHeader).toDateTime().toString();
                qDebug() << reply->header(QNetworkRequest::ContentLengthHeader).toULongLong();
                qDebug() << reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
                qDebug() << reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute).toString();
                //ecriture dans le fichier
                QFile *file = new QFile("C:/Users/roussangea/Documents/Qt Projects/QHttpDownload2/downloaded.txt");
                if(file->open(QFile::WriteOnly))
                {
                    file->write(reply->readAll());
                    file->flush();
                    file->close();
                }
                delete file;
            }
            //fichier à lire
            QFile fichier("C:/Users/roussangea/Documents/Qt Projects/QHttpDownload2/downloaded.txt");
            QTextStream flux(&fichier);
            //ouverture du fichier
            fichier.open(QIODevice::ReadOnly | QIODevice::Text);
            //lecture de tout le fichier
            QString tout = flux.readAll();
            qDebug() << tout ;
     
            reply->deleteLater();
     
     
    }

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Points : 421
    Points
    421
    Par défaut
    Hello,

    Cela dépend du format des parties à extraire. Mais vu que c'est du code html, j'imagine que c'est du texte contenu entre des balises ?

    Une fois le fichier contenu dans un QString, il est possible d'utiliser la fonction QString::indexOf() afin de trouver la position d'une string donnée en paramètre. Il est aussi possible d'utiliser des expressions régulières.

    Est-il possible d'avoir plus de précision concernant les données à extraire ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/05/2015, 19h49
  2. extraire des données à partir d'un fichier texte
    Par bigplayer dans le forum Langage
    Réponses: 3
    Dernier message: 03/04/2007, 21h33
  3. Réponses: 3
    Dernier message: 04/01/2007, 17h42
  4. Réponses: 13
    Dernier message: 09/11/2006, 23h37
  5. Extraire des lignes precises d'un fichier
    Par keke33 dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 03/06/2004, 10h52

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