Problème de lecture de caractère en C
Yakurena
-
Jolkdarr -
Jolkdarr -
Rebonjour,
j'ai encore un problème :
si je fais une première lecture de variable(une chaine de caractères) et que je veux lire ensuite un caractère,le programme continue à s'éxécuter après la première lecture sans me laisser entrer le caractère au clavier.
Cad ,avec le programme suivant:
printf("entrez une chaine : ");
scanf("%s",chaine);
printf("entrez un caractère : ");
scanf("%c",&caractere);
printf("fin du programme");
En execution,cela donne:
entrez une chaine : toto (tapé au clavier)
entrez un caractère : fin du programme
Quel est le problème et comment le résoudre?
Merci d'avance.
j'ai encore un problème :
si je fais une première lecture de variable(une chaine de caractères) et que je veux lire ensuite un caractère,le programme continue à s'éxécuter après la première lecture sans me laisser entrer le caractère au clavier.
Cad ,avec le programme suivant:
printf("entrez une chaine : ");
scanf("%s",chaine);
printf("entrez un caractère : ");
scanf("%c",&caractere);
printf("fin du programme");
En execution,cela donne:
entrez une chaine : toto (tapé au clavier)
entrez un caractère : fin du programme
Quel est le problème et comment le résoudre?
Merci d'avance.
A voir également:
- Problème de lecture de caractère en C
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Confirmation de lecture whatsapp - Guide
- Accusé de lecture gmail - Guide
3 réponses
Hello !
Si tu veux comprendre ce qui se passe, compare avec le programme ci-dessous :
ou
Take care !
Si tu veux comprendre ce qui se passe, compare avec le programme ci-dessous :
#include <stdio.h>
int main()
{
char Chaine[50];
char Caractere;
printf("entrez une chaine : ");
scanf("%s",Chaine);
printf("entrez un caractère : ");
scanf("\n%c",&Caractere);
printf("fin du programme %c", Caractere);
}
ou
scanf(" %c",&Caractere);
Take care !
salut,
ca me rappelle mes debut en C
tiens , tu fais en avant d'excuter ton bout de code de lecture de chaines un
cela te permet de liberer le tampon
je pense que ca devra aller.
Courage a toi
@+
ca me rappelle mes debut en C
tiens , tu fais en avant d'excuter ton bout de code de lecture de chaines un
flush();ou
flushall();<
cela te permet de liberer le tampon
je pense que ca devra aller.
Courage a toi
@+
Salut,
essaye ca:
Pour afficher les résultat sur la sortie standard:
c=getchar(); ------> putchar(c)
gets(str);------> puts(str)
essaye ca:
char c;
char str[50];
fflush(stdout);
printf("entrez une chaine puis valider par <entrée> : ");
c=getchar();
fflush(stdout);
printf("entrez un caractère : ");
gets(str);
printf("fin du programme");
Pour afficher les résultat sur la sortie standard:
c=getchar(); ------> putchar(c)
gets(str);------> puts(str)