Getchar, putchar en c

Résolu/Fermé
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 - 29 janv. 2008 à 21:08
ossamados Messages postés 5 Date d'inscription mardi 18 octobre 2011 Statut Membre Dernière intervention 19 octobre 2011 - 19 oct. 2011 à 22:40
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
29 janv. 2008 à 21:12
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 dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 140
29 janv. 2008 à 21:31
merci
0
limbergh Messages postés 658 Date d'inscription dimanche 8 juillet 2007 Statut Membre Dernière intervention 29 juin 2010 140
29 janv. 2008 à 21:32
merci
0
les binomes²
27 mai 2008 à 17:05
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 mardi 18 octobre 2011 Statut Membre Dernière intervention 19 octobre 2011
18 oct. 2011 à 01:30
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 oct. 2011 à 05:58
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 mardi 18 octobre 2011 Statut Membre Dernière intervention 19 octobre 2011
19 oct. 2011 à 00:52
Merci => lami20j
0
ossamados Messages postés 5 Date d'inscription mardi 18 octobre 2011 Statut Membre Dernière intervention 19 octobre 2011
19 oct. 2011 à 22:40
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