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

C++ Discussion :

reformater un fichier txt en html


Sujet :

C++

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut reformater un fichier txt en html
    Hello tout le monde, ma question est simple, j'ai un fichier texte de ce style :

    EDIT : j'ai volontairement remplacé les espaces par des '_' car sinon on ne voyait pas la "structure" du texte :


    ____PDU_Type:_request_(0)
    ________request:_terminalCapabilitySet_(2)
    ____________terminalCapabilitySet
    ________________sequenceNumber:_1
    ________________protocolIdentifier:_0.0.8.245.0.6_(itu-t(0)_recommendation(0)_h(8)_h245(245)_version(0)_6)
    ________________multiplexCapability:_h223Capability_(2)
    ____________________h223Capability
    ________________________...._0..._transportWithI-frames:_False
    ________________________...._.0.._videoWithAL1:_False
    ________________________...._..1._videoWithAL2:_True
    ________________________...._...1_videoWithAL3:_True
    ________________________0..._...._audioWithAL1:_False
    ________________________.1.._...._audioWithAL2:_True
    ________________________..0._...._audioWithAL3:_False
    ________________________...0_...._dataWithAL1:_False
    ________________________...._0..._dataWithAL2:_False
    ________________________...._.0.._dataWithAL3:_False
    ________________________maximumAl2SDUSize:_256
    ________________________maximumAl3SDUSize:_1024
    ________________________maximumDelayJitter:_200
    ________________________h223MultiplexTableCapability:_basic_(0)
    ____________________________basic:_NULL
    et je veux le faire passer dans une frame HTML avec la même cohérence (espaces devant, retour-chariot en fin de ligne).

    Pour les retours-chariot, il faut simplement rajouter <br>.

    Pour les espaces devant, par contre, je n'ai pas d'idée ! il semblerait que le compilo les efface directement en effectuant le getline

    Ma question est donc : comment reconnaitre une fin de ligne ? faut il se servir de getline, puis rajouter <br> a la fin et le tour est joué ?

    Mon idée pour l'instant pour le rajout du retour chariot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    bouclage{
    std::ifstream myfile( "test.txt" );
    std::getline( myfile, ligne );
    ligne += "<br>";
    }
    Cela pourrait-il marcher ? comment boucler l'opération ? (while(!eof()) marcherait-il dans ce cas de figure ?)

    Merci pour vos réponses !

  2. #2
    Membre chevronné Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (std::getline( myfile, ligne )) { ligne += "<br>"; }
    Ceci te conviendrait ?

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Pour les espaces devant, par contre, je n'ai pas d'idée ! il semblerait que le compilo les efface directement en effectuant le getline
    Pas si tu utilises getline. Par contre ton navigateur lui va les ignorer (si tu veux des précisions pour ce problème il faut aller le poster sur les forums Développement Web).

    Ma question est donc : comment reconnaitre une fin de ligne ? faut il se servir de getline, puis rajouter <br> a la fin et le tour est joué ?

    Mon idée pour l'instant pour le rajout du retour chariot :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    bouclage{
    std::ifstream myfile( "test.txt" );
    std::getline( myfile, ligne );
    ligne += "<br>";
    }

    Cela pourrait-il marcher ?
    Oui (sauf qu'en XHTML standard, c'est <br/> -- toutes balise doit être fermée).

    comment boucler l'opération ? (while(!eof()) marcherait-il dans ce cas de figure ?)
    Pas eof(), non (voir FAQ). Typiquement il faut tester directement la lecture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    std::ifstream myfile( "test.txt" );
     
    if (myfile)
    {
        while (std::getline( myfile, ligne ))
        {
            ligne += "<br>";
            DoSomethingWith(ligne);
        }
    }

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    je vais le tenter tu penses que cela prend en compte les espaces "pré" texte ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    Laurent Gomila > merci pour ta réponse exhaustive !

  6. #6
    Membre chevronné Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Par défaut
    Les espaces, tu veux qu'ils soient présent dans ta page HTML ? Si oui remplace les par &nbsp; lorsque tu écris ta page HTML.

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Ca dévie un peu du C++, mais bon...

    Si tu veux vraiment garder la mise en page telle que dans le fichier HTML, il suffit d'utiliser la balise <pre>.

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 156
    Par défaut
    ok donc je peux tout simplement rajouter <pre> et </pre> respectivement en début et fin de fichier, c'est bien ca ?

  9. #9
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Oui c'est ça, mais c'est une balise dépréciée depuis un certain temps.

    Il faut aussi que tu fasses attention au contenu de ton fichier, par exemple les caractères <, qui pourraient être interprétés par ton navigateur (s'il est susceptible d'y en avoir dans ton fichier texte)

Discussions similaires

  1. Lire les lignes d'un fichier .txt en HTML
    Par Moustiik78 dans le forum Langage
    Réponses: 10
    Dernier message: 15/03/2014, 02h16
  2. Création d'un fichier txt via HTML
    Par Morphyne dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 18/09/2011, 20h41
  3. afficher un fichier txt ou html
    Par lostsoul dans le forum Débuter
    Réponses: 4
    Dernier message: 09/01/2011, 13h46
  4. convertir un fichier txt en html
    Par Emilie012 dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 05/07/2008, 22h10
  5. [HTML] Téléchargement de fichiers .txt
    Par raj dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/01/2006, 18h08

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