Probleme comprenhension language c
kista
-
cmoivalou Messages postés 491 Date d'inscription Statut Membre Dernière intervention -
cmoivalou Messages postés 491 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train d'etuder stdarg.h, pour m'aider j'ai chercher sur le net des fonctions pour voir comment elle fonctionnait, j'ai trouver ceci sur ce site http://membres.lycos.fr/dancel/c/c70_140.htm
Pour m'en impregniez mieu j'ai remplacer les switch par des if car je suis encore un bon debutant
mais la ou je coince cest le switch(*++format), dans mes if jai enleve les ++ puis remis. je n'obtiens plus le meme resultat... donc voila si quelqu'un pouvais m'aiguiller cela m'aiderais a comprendre mieu cette lib
Merci a+
Je suis en train d'etuder stdarg.h, pour m'aider j'ai chercher sur le net des fonctions pour voir comment elle fonctionnait, j'ai trouver ceci sur ce site http://membres.lycos.fr/dancel/c/c70_140.htm
#include <stdio.h> #include <stdarg.h> void myprintf(char *format, ...) { va_list pa; int n; char *s, c; float f; va_start(pa, format); while (*format != '\0') { if ( *format == '%' ) { switch (*++format) { case '%' : putchar('%'); break; case 'c' : /* affichage d'un caractère */ c = va_arg(pa, char); putchar(c); break; case 'd' : /* affichage d'un entier */ n = va_arg(pa, int); printf("%d", n); break; case 'f' : /* affichage d'un float */ f = va_arg(pa, double); /* !!!!! */ printf("%f", f); break; case 's' : /* affichage d'une chaîne */ s = va_arg(pa, char *); for ( ; *s != '\0'; s++ ) putchar( *s ); break; } /* end switch */ } else putchar( *format ); format++; } va_end(pa); } main() { myprintf("float = %f\n", (float) 1.2345); myprintf("int = %d char = %c Chaine = %s\n", 123, 'A', "C is beautiful !" ); return 0; } /*-- résultat de l'exécution --------------------------------- float = 1.234500 int = 123 char = A Chaine = C is beautiful ! --------------------------------------------------------------*/
Pour m'en impregniez mieu j'ai remplacer les switch par des if car je suis encore un bon debutant
mais la ou je coince cest le switch(*++format), dans mes if jai enleve les ++ puis remis. je n'obtiens plus le meme resultat... donc voila si quelqu'un pouvais m'aiguiller cela m'aiderais a comprendre mieu cette lib
Merci a+
A voir également:
- Probleme comprenhension language c
- Windows display language french - Guide
- Vistalizator language pack windows 7 - Télécharger - Traduction
- Language binaire - Guide
- Photoshop cs6 french language pack - Forum Photoshop
- Autocad 2008 language pack french - Forum AutoCAD