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 :

[chaine de caractere] remplacement de caractères spéciaux


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 97
    Par défaut
    Bonjour,
    Ne peut-on pas adapter le programme que tu m'as envoyé pour les chaines de caractères ?ces fonctions là ne sont pas génériques ?
    on pourrait leur passer des fichiers texte au lieu du binaire, non?

    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
     
     
    struct change_chars { 
        char operator()(char c) const { 
            switch (c) { 
            case 'ƒ' : return 'f'; 
            default: return c; 
            } 
        } 
    }; 
    .... 
    std::transform( 
        std::istreambuf_iterator<char>(fin), 
        std::istreambuf_iterator<char>(), 
        std::ostreambuf_iterator<char>(fout), 
        change_chars() 
    );
    Merci encore

    Sempire

  2. #2
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Cela marche avec n'importe quel itérateur.
    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
    std::string in;
    while (std::getline(fin, in)) {
    #ifdef FACON_UN
        std::string out;
        std::transform(
            in.begin(), in.end(),    // src
            std::back_inserter(out), // dst
            change_chars());
        fout << out << "\n" ;
    #else if defined(FACON_DEUX)
        std::transform(
            in.begin(), in.end(), // src
            in.begin(),           // dst
            change_chars());
        fout << in << "\n";
    #else if defined(FACON_TROIS)
        std::transform(
            in.begin(), in.end(),                 // src
            std::ostreambuf_iterator<char>(fout), // dst
            change_chars());
        fout << "\n"; // pas oublier la fin de ligne mangée par getline
    #endif
    }
    L'avantage du fichier binaire, c'est pour ne pas s'embêter à interpréter quoique ce soit dans le fichier original. Cela permet d'être un chouilla plus rapide -- mais cela reste toujours des streams C++.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

Discussions similaires

  1. Remplacer des caractères spéciaux dans une chaine
    Par enzostar dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2012, 23h16
  2. Fonction qui remplace des caractères spéciaux
    Par ViRouF dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 07/08/2006, 10h24
  3. [chaine de caractères]Remplacement de caractères spéciaux
    Par zeke the mouarfor dans le forum C
    Réponses: 5
    Dernier message: 05/06/2006, 18h30
  4. Soucis avec le remplacement de caractères spéciaux
    Par Oluha dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 04/07/2005, 11h42
  5. Remplacement de caractères spéciaux
    Par willowII dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 26/04/2005, 18h13

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