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

Langage C++ Discussion :

transformer les printf, scanf et toute la compagnie en flux


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Par défaut transformer les printf, scanf et toute la compagnie en flux
    Je crée un programme qui traduirais un programme C en C++, petit problème : les fluxs. En C, les fonctions de type trucf servent à la mêmechose que les fluxs en C++, sauf que voilà, pour la traduction, c'est coton. Est-ce que vous avez une idée d'algorithme qui pourra traduire tous les trucf en flux dans une chaîne de caractères?

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Traduire, pas vraiment, mais boost.format propose une approche compatible flux avec un style d'écriture plus proche des libs C.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 127
    Billets dans le blog
    149
    Par défaut
    Bonjour,

    Sachant que le compilateur C++ peut utiliser les fonction C comme printf(), la conversion n'est pas très utile.
    Mais si cela vous chante, vous pouvez toujours réimplémenter un printf() en C++ (appeler une fonction, par printf et qui renvoie tout dans std::cout).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre Expert
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Par défaut
    Citation Envoyé par LittleWhite Voir le message
    Sachant que le compilateur C++ peut utiliser les fonction C comme printf(), la conversion n'est pas très utile.
    Mais si cela vous chante, vous pouvez toujours réimplémenter un printf() en C++ (appeler une fonction, par printf et qui renvoie tout dans std::cout).
    Il est possible avec des template variadic d'avoir une fonction type printf qui vérifie le nombre et le type des arguments. La traduction est simple : renommer "printf" en "cppPrintf" (boost fourni probablement ce genre de fonction), et on gagne en sécurité.

    On trouve des implémentations un peu partout : Wikipedia, ou Une présentation d'Andrei Alexandrescu, qui en parle plus en détail.

  5. #5
    Inactif  
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2012
    Messages : 78
    Par défaut
    c'est surtout pour améliorer la lisibilité.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    S'il se trouve des formatages de nombres, je ne suis pas sûr que tu gagnes en lisibilité avec les flux.

Discussions similaires

  1. transformer les données d'une table .dbf vers ma BD
    Par djouahra.karim1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 30/11/2004, 09h54
  2. existe t 'il des programme pour transformer les bases
    Par creazone dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 05/10/2004, 14h11
  3. Ne pas transformer les <br/> a l'ecriture du fichier X
    Par fidififouille dans le forum XMLRAD
    Réponses: 2
    Dernier message: 07/05/2004, 10h11
  4. Les Bases de Données! tout un monde!!
    Par kikimnet dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/04/2004, 18h26
  5. XML/XSL vers HTML: comment transformer les linefeed en <B
    Par AlainM dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/11/2003, 12h30

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