Geen cache-versie.

Caching uitgeschakeld. Standaardinstelling voor deze pagina:ingeschakeld (code LNG204)
Als het scherm te langzaam is, kunt u de gebruikersmodus uitschakelen om de cacheversie te bekijken.

getchar/putchar: 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.
  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...
  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.

Nederlandse vertaling

U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.

Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.

Bij voorbaat dank.

Document heeft de 02/01/2003 gemaakt, de laatste keer de 26/10/2018 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/c-getchar-putchar.html

De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.