Copieur...

Le but de ce programme est de recopier sur le canal standard de sortie ce qui se présente par le canal d'entrée standard.

Il fonctionne de cette manière:

  • Lecture d'un caractère.
  • Tant que le caractère n'est pas le signal de fin de fichier:
    • Sortir le caractère lu.
    • Lire un nouveau caractère.

Code c (copy1.c) (12 lignes) :
  1. #include <stdio.h>
  2.  
  3. void main (void)
  4. {
  5. int c;
  6. c=getchar();
  7. while (c!=EOF)
  8. {
  9. putchar (c);
  10. c=getchar();
  11. }
  12. }

Résultat

Je copie cette ligne
Je copie cette ligne
-

Si nous introduisons la caîne de caractères suivante : "Je copie cette ligne", au moment de valider la ligne par la touche [Enter], la ligne est intégralement recopiée...

Remarques copy1.c

  • L'opérateur de relation != signifie "est différent de".
  • Attention : l'utilisation de EOF (End Of File) est interprétée de différentes manières (égal à 0 ou à -1).
    Nous pouvons donc définir la valeur de EOF comme constante au début du programme de cette manière: #define EOF -1 ou bien: #define EOF 0 afin de s'assurer que EOF sera bien interpreté.
  • Nous pouvons réduire le nombre d'instructions en positionnant la saisie du caractère dans la condition de la boucle while, ce qui nous amène au code du programme suivant : copy2.c...

Code c (copy2.c) (10 lignes) :
  1. #include <stdio.h>
  2.  
  3. void main (void)
  4. {
  5. int c;
  6. while ((c=getchar())!=EOF)
  7. {
  8. putchar (c);
  9. }
  10. }

Remarques copy2.c

  • Profitons de ce programme pour nous rappeler l'importance des parenthèses...
    En effet, (c=getchar())!=EOF est différent de c=(getchar()!=EOF). Ce dernier affecte la valeur 0 ou 1 à la variable c selon que getchar rencontre ou non la fin de fichier.

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

10 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-239
Document créé le 02/01/03 01:00, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http:///www.gaudry.be/c-getchar-putchar.html
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15838 documents
455 astuces.
550 niouzes.
3107 definitions.
447 membres.
8121 messages.

Document genere en :
0,11 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
La terre s'est imposée l'homme pour châtiment.

Pablo Neruda
 
l'infobrol
Nous sommes le Lundi 26 Juin 2017, 19:22, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)