Getchar, putchar en c

Résolu
limbergh Messages postés 669 Statut Membre -  
ossamados Messages postés 5 Statut Membre -
Bonjour tout le monde,

je suis débutant en"C" et je ne comprend pas getchar et putchar,
en fait lequel lit les caractères et lequel les copie?????

Meric d'avance pour vos réponses et je glisse ici le petit script dont j'ai tiré l'exemple
dans un livre sur ce langage!!!!

#include <stdio.h>
#include <stdlib.h>

int main()
{
int c;

c=getchar();
while (c!=EOF)
{
putchar(c);
c=getchar();
}

return 0;
}

Limbergh
Configuration: Windows XP
Firefox 2.0.0.11

6 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    getchar lit et putchar écrit
    écrit comme ça pour mieux comprendre qui lit et qui écrit
    #include <stdio.h>
    
    int main()
    {  
        int c;
    
        while ((c = getchar()) != EOF)
            putchar(c);
        return 0;
    }
    --

    lami20j
    7
  2. limbergh Messages postés 669 Statut Membre 140
     
    merci
    0
  3. limbergh Messages postés 669 Statut Membre 140
     
    merci
    0
  4. les binomes²
     
    merci

    voici mon code qui marche aussi grâce à la bufferisation:

    int main()
    {
    int c;

    do{
    c=getchar();
    putchar(c);
    }while(c != EOF);

    return 0;
    }
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ossamados Messages postés 5 Statut Membre
     
    S'il vous plait, je suis un débutant en langage C ; Je veux savoir pourquoi vous avez utilisé une variable "int" et non pas une variable "char"
    ET merci d'avance
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Salut,

      Quand il n'y aura plus de données en entrée getchar retourne une valeur particulière, il s'agit du EOF (End Of File).
      EOF n'est pas une valeur possible pour un char et c'est la raison d'utilisation de int.

      Tu peux faire un test en utilisant char pour voir.
      0
    2. ossamados Messages postés 5 Statut Membre
       
      Merci => lami20j
      0
  7. ossamados Messages postés 5 Statut Membre
     
    S'il vous plait, je suis un débutant en langage C; Je veut savoir que signifie les instructions (test1, test2 et test3) dans ce programme :

    int main()
    {char *s;
    int i=0,nmots=0,nb=0,nc=0,test1,test2,test3,ok;
    test1=*(s+i)>='a' && *(s+i)<='z';
    test2=*(s+i)>='A' && *(s+i)<='Z';
    test3=*(s+i)>='0' && *(s+i)<='9';
    Et merci d'avance
    0