Language c test d'arret d'une boucle

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;
Configuration: Windows XP
Firefox 2.0.0.13

7 réponses

  1. Salut,
    tu n'as qu'à saisir une chaine de caractères particulière, genre "exit", comme pour une fenêtre dos
    0
    1. Contributeur
      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
      1. 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
        1. 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
          1. 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
          2. @Laarisle compilateur me repond qu'il y a une comparaison illegal
            pointeur avec caractaire
            merci encore
            merci
            0
        2. Contributeur
          as tu essayé ctrl+D ?
          0
          1. merci
            ctrl+D ça n'a pas marché
            0
        3. 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
          1. 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
        4. Contributeur
          ç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
          1. oui merci vous avez raison je vais utiliser un autre caractère mais je voulais juste comprendre ou est le problème
            merci
            0