bonjour,
comment mettre l'équivalent en C de :
a=getchar();
while(getchar() != '\n');
sans utiliser getchar.
Merci de vos réponses.
bonjour,
comment mettre l'équivalent en C de :
a=getchar();
while(getchar() != '\n');
sans utiliser getchar.
Merci de vos réponses.
Comment veux tu utiliser une fonctionnalité du langage C sans utiliser une de ses fonctions? ça n'a pas de sens!!!
fgetc(stdin)?
Il n'y a pas 36 solutions pour purger le tampon du flux d'entrée standard. Qu'est-ce qui ne te convient pas dans cette solution?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 int a = fgetc(stdin) if (a != '\n' && a != EOF) { int c; while ((c = fgetc(stdin)) != '\n' && c != EOF) { } }
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
On peut aussi faire:
Mais bon, on utilises encore getchar().
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 scanf("%*[^\n]"); fgetc(stdin);
Thierry
"The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
"If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow
FAQ-Python FAQ-C FAQ-C++
+
Si tu ne veux pas de getchar(), tu peux remplacer par la fonction de base fgetc(stdin);
mais on ne sait pas faire plus basique en C standard...
On peut faire plus compliqué, comme
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 char c; scanf("%c", &c);
mais je ne vois pas bien le but de l'opération. Qu'est-ce qui ne va pas avec getchar() ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 char c; fscanf(stdin, "%c", &c);
En tenant compte des remarques de Melem et Emmanuel Delahaye, il suffit donc de faire :
Et on a un getchar personnalisé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 #include <stdio.h> char my_getchar(void) { char c; scanf("%c", &c); return c; }![]()
cmoibal, dans ce cas on n'obtient pas un getchar mais plutôt un getch ou un getche ou quelque chose de similaire. En plus pas portable.
je pense qu'il faut etre claire dans un point, la fonction getchar est l'un des fonction basique du libC, donc en ne peut pas crér une autre fonction qui traite le même fonctionnement avec le code C. par contre on peut utiliser le language ASM peut être !!!!!!!!!
et ceci, seulement pour capter les evenement materiel catcher par le system..... manipulation des registre je pense....
alors voila !!!!![]()
Mmm...
La vraie fonction de base est fgetc()
Souvent, on a
dans <stdio.h>, par exemple... mais la version 'fonction' doit aussi exister (c'est obligatoire).
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define getchar() fgetc(stdin)
Partager