Getchar, putchar en c

Résolu
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   -  
ossamados Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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

6 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   140
 
merci
0
limbergh Messages postés 658 Date d'inscription   Statut Membre Dernière intervention   140
 
merci
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ossamados Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
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
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
ossamados Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Merci => lami20j
0
ossamados Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
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