Comment entrer la valeur de EOF dans le terminal

J’ai un programme en C.

void main () { int c=1; if (getchar()!=EOF) printf("%d",c); else printf("%"); } 

Que dois-je taper dans le stdin sur le terminal pour produire un EOF?

Vous ne savez pas ce que vous entendez avec la variable c , sa valeur n’est jamais modifiée et semble donc inutile.

Dans Windows, Control + Z est le raccourci clavier typique qui signifie “fin de fichier”, sous Linux et Unix, il s’agit généralement de Control + D.

  1. EOF est encapsulé dans une macro pour une raison: vous n’avez jamais besoin de connaître la valeur.
  2. À partir de la ligne de commande, lorsque vous exécutez votre programme, vous pouvez envoyer EOF au programme avec les touches CtrlD (Unix) ou CTRLZ (Microsoft).
  3. Pour déterminer la valeur d’EOF sur votre plate-forme, vous pouvez toujours l’imprimer:

     printf ("%i\n", EOF); 

Vous pouvez simuler un EOF avec:

  • Windows: ctrl + Z
  • Unix: Ctrl + D

Cela n’a été mentionné dans aucune des réponses jusqu’à présent, mais vous devrez peut-être appuyer sur la combinaison de touches droite (^ D ou ^ Z) 2 ou 3 fois pour signaler réellement EOF; voir ici pour l’explication.