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

MFC Discussion :

Printf (je deviens fou !)


Sujet :

MFC

  1. #1
    Membre confirmé Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Par défaut Printf (je deviens fou !)
    Bonsoir,

    désolé pour le "niveau de la question" .. mais je suis quasi au Prozac !
    J'utilise Visual Studio .net 2003 ... dont le compilo est un compilo C/C++.
    De plus ... j'apprends le C ...
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include "stdafx.h"
    #include <stdio.h>
     
     
    int main()
    {
    	printf("toto ", "roro\n");
     
    	std::cout << "Hello\n" ;
    	return 0;
    }
    Oui ... ce n'est pas très joli ... "std::cout" et "printf" en même temps. mais j'apprends, je teste, c'est tout ! (pour le moment)
    voici ma sortie écran:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    toto Hello
    press any key to continue (normal ça,hi)
    le soucis ...
    impossible de faire sortir mon "roro". j'ai retourné tous mes bouquins de C, ma syntaxe est ok ... et plus simple, pas possible !
    Je devrais avoir en sortie :
    non ? ou est la bétise, il doit en exister une énorme.

  2. #2
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    Ah printf et les joies d'une fonction non typée à nombre d'arguments variables...
    %s est ce que tu as oublié.

    Et si tu dois apprendre, choisi. C. ou C++. L'apprentissage du dernier étant plus simple comme tu peux déjà le constater ...
    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...

  3. #3
    Membre confirmé Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Par défaut
    %S, oui je dois avoir essayé, mais l'ai-je bien utilisé ?
    je ne suppose plus rien (ou j'en suis) ... pourrais-tu m'indiquer la bonne syntaxe pour ce %s ? ... j'aimerais tant voir s'afficher "roro", hi !

    Et printf avec une variable char ??? ... une autre aventure !

    char mon_char ;
    mon_char = 'A' ;
    en principe ... printf (mon_char) ... ça devrait tourner bon dieu, non ?
    et bien non, j'ai pas encore la façon d'afficher un "char" ou un "int" avec printf. J'ai essayé les pointer ....

    char mon_char ;
    char *pchar ;
    mon_char = "A" ;
    pchar = &mon_char ;
    et la printf( ... mon_char ... pchar ... &char ... )
    seule &char me donne un résultat.
    Il me "sort" bien le caractère "A" ... mais suivis d'une dizaine de caractères hyérogliphiques, hii !

    enfin cela nous éloigne de notre "roro" ...
    alors, tu me propose ceci je pense :
    printf ("%s", "toto " , "roro"); ... est-ce bien cela ?
    Merci de m'aider Luc.

  4. #4
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    non.
    syntaxe de printf
    -> Arg1 : chaine de format (const char *)
    -> args suivants : type primitif (int, double, const char *, float, ...), un argument supplémentaire par spécificateur de format dans la chaine de format.

    Soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("ca fait %s, ou encore %d", "quarante-deux", 42);
    c'est dans n'importe quel cours de 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...

  5. #5
    Membre confirmé Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Par défaut
    et non Luc, j'ai potassé 3 bouquins de C ... j'ai vu ce %s, mais la syntaxe était bien différente. Il est tard ... je pourrais te donner la sybtaxe que j'ai trouvé demain. Mais si cela avait ete ...la, devant moi ... j'aurais trouvé, je t'assure. Ceci ci ... ton printf("toto %s" , "roro\n") ; ... c'est ok, ça tourne.
    Je peux demander pour uen question subsidiaire ?

    char mon_char ;
    mon_char = 'A' ;
    printf "comment" pour me sortir le "A" contenu dans mon_char ?
    ceci ? printf (mon_char); ... ca fonctionne pas ... j'ai essayé avec les pointeurs, puisque printf attend des "adresses vers" ... mais sans grand résultals.

    Encore merci à toi Luc.

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    la syntaxe de luc est juste...
    tu as un description complete sur msdn des formats et dans ton cas doit fonctionner.


  7. #7
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    %c je crois.
    J'avoue que je ne me sers jamais de cette série de fonctions. Sauf au taf où l'on a un loggueur, reposant sur le même principe, qui fait partir en core dump l'application dès que l'on se trompe dans les paramètres passés...
    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...

  8. #8
    Membre confirmé Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Par défaut
    Merci Luc, merci Ferscape ...
    vous m'avez bien aidé ... et fait comprendre que "printf" en C est plus coplexe qu'il n'en à l'air ... hummm, le formatage de "printf".
    style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    printf("%d%s%s%s",*pNb," toto ","\n","roro ");
    ... et j'en passe et des plus belles ! :-)
    Au passage, un bon livre de référence ... c'est dedans que j'ai trouvé "enfin", un bon détaillé de "printf"
    ---> Langage C de Claude Delannoy, chez Eyrolles
    Comme quoi, il y avait une meilleure solution que le Prozac !

  9. #9
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    <hum .. ne pas troller, ne pas troller.>
    C'est malheureusement un bouquin de C++ qui, comme d'autres, suppose qu'il faille connaitre des aspects, inutilement (si on fait du C++) compliqués, du C qui sont inutiles au débutant en C++. La preuve, la printf.
    Plus des inexactitudes à divers endroits.
    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...

  10. #10
    Membre confirmé Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Par défaut
    Un livre sur le C++ ? tu es certain Luc ?
    Pourtant le titre précise bien " Langage C" et le chapitre "avant propos" commence par cette phrase ... l'objectif est d'offrir un outil de référence clair et précis sur le langage C tel qu'il est définit par la norme ANSI/ISO. Ce livre comporte juste, à la fin, un chapitre sur les incompatibilités avec le C++. Parlons-nous du même livre Luc ?
    PS: désolé pour la pub ... j'ai pas réfléchi.

  11. #11
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 292
    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 292
    Par défaut
    Frell. Non effectivement. Je me suis gouré et ait confondu avec celui sur le C++. Au temps pour moi donc. C'est le côté question sur printf dans le forum VC++ qui m'a induit en erreur (il y a un forum sur le C pour ces questions là)
    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...

  12. #12
    Membre confirmé Avatar de - Robby -
    Inscrit en
    Juillet 2003
    Messages
    266
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 266
    Par défaut
    Oui, je m'incline pour " l'endroit " ... mais pour ma défense, quand on parle "C" sur Visual Studio ... on sait plus trop "ou" il faut poser. Es-ce un problème de "C", ou de compilo Visual. Bon ... ... j'ai été fonctionnaire pendant pas mal d'années ... donc, un Chef a toujours raison ... (sourire et en toute gentillesse )

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

Discussions similaires

  1. C# Excel 2002 : Je deviens fou
    Par Goupil dans le forum C#
    Réponses: 9
    Dernier message: 03/07/2008, 23h33
  2. [SQL] Je deviens fou - Requête SQL
    Par oranocha dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 27/09/2007, 12h19
  3. Réponses: 5
    Dernier message: 21/06/2007, 18h13
  4. [Visual Studio 2005 C#] je deviens fou ?
    Par jlbaptiste dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/01/2006, 20h11
  5. document.frm.submit() je deviens fou
    Par franak dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/03/2005, 17h23

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