Language c test d'arret d'une boucle

elmadina Messages postés 33 Statut Membre -  
elmadina Messages postés 33 Statut Membre -
Bonjour,
je suis un débutant dans la programmation en c
j'ai voulu exécuter un programme qui contient une boucle avec un test d'arrêt
getchar()!=EOF
mais le programme ne se termine pas car je n'ai pas su comment saisir le EOF -la condition d'arret- aprés l'éxecution du programme
pourriez vous m'aider
merci;
A voir également:

7 réponses

SebManfred Messages postés 484 Statut Membre 128
 
Salut,
tu n'as qu'à saisir une chaine de caractères particulière, genre "exit", comme pour une fenêtre dos
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
il me semble que EOF, c'est ctrl+D
mais pourquoi utiliser EOF, et pas un autre caractère ?
regarde là si tu veux utiliser des caractère un peu spéciaux : https://fr.wikipedia.org/wiki/ASCII
0
Laaris Messages postés 131 Statut Membre 73
 
EOF (pour "End Of File") c'est pour quand ta boucle parcourt le contenu d'un fichier, pour tester si tu es arrivé à la fin.

Si ta boucle te demande un caractère à saisir jusqu'à ce que tu saisisses un caractère particulier il ne faut pas utiliser EOF, mais définir un caractère qui servira à arrêter cette boucle.
0
elmadina Messages postés 33 Statut Membre
 
merci a tous
le voila le programme que j'ai essayé d'implémenter


#include <stdio.h>
/* copy input to output; 1st version */
main()
{
int c;
c = getchar();
while (c != EOF) {
putchar(c);
c = getchar();
}
}


alors ce n'est pas possible d'utiliser exit
j'attend vos réponses et merci a tous
0
Laaris Messages postés 131 Statut Membre 73
 
Remplace EOF par un caractère qui sera utilisé uniquement pour arrêter le programme, un caractère que tu es sûr de ne pas utiliser dans un autre cas, par exemple '¤' ou '§', ça dépend à quoi correspondent les caractères que tu entres.
0
elmadina Messages postés 33 Statut Membre > Laaris Messages postés 131 Statut Membre
 
le compilateur me repond qu'il y a une comparaison illegal
pointeur avec caractaire
merci encore
merci
0

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

Posez votre question
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
as tu essayé ctrl+D ?
0
elmadina Messages postés 33 Statut Membre
 
merci
ctrl+D ça n'a pas marché
0
mype Messages postés 2449 Statut Membre 437
 
EOF c'est pour qu'en tu utilise un fichier...
definit c comme un char et utilise un caractere special pour la condition d'arret
0
elmadina Messages postés 33 Statut Membre
 
merci pour votre réponse
c'est simple de programmer un test d'arret
mais moi j'ai voulu tester l'exemple que j'ai trouvé dans le livre
"The C programming Language" de By Brian W. Kernighan and Dennis M. Ritchie
et ça ma surprie que l'exemple cité dans un tel livre ne marche pas
et j'essai de trouver l'erreur
merci encore
0
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
ça dépend aussi de ta commande de lancement.
as tu utiliser l'indirection ? genre:
prog<machin.txt
J'ai souvent remarqué que les exemple des livres ne fonctionnaient pas. Souvent les auteurs les écrivent sans tester, ils oublient des menus détails. Le but étant d'avoir le principe général. Si tu ne trouve pas EOF, c'est pas grave, utilise un autre caractère.
0
elmadina Messages postés 33 Statut Membre
 
oui merci vous avez raison je vais utiliser un autre caractère mais je voulais juste comprendre ou est le problème
merci
0