Les méthodes de fin de fichier (EOF) ne fonctionnent pas dans la console NetBeans

Image de code

J’ai appris le C avec K & Re2. Et le code ci-dessus est ce qui est mentionné dans Pg18 ( programme de comptage de lettres ), que j’ai exécuté à des fins de confirmation. J’ai essayé d’entrer quelques caractères et d’appuyer sur ENTER , mais cela ne fonctionnait pas. Puis j’ai entendu parler de CTRL+Z , CTRL+C ou CTRL+D avec ENTER pour End Of File. Je l’ai essayé dans la console NetBeans, mais cela ne fonctionnait pas. J’ai essayé \0 et \n aussi, dommage que cela ne fonctionne pas aussi. J’ai cherché cela, mais tous semblaient avoir résolu le problème avec CTRL+Z , CTRL+C ou CTRL+D avec la méthode ENTER . Je ne peux pas comprendre quel est le problème ici. PS: j’utilise Windows 7

Désolé de ne pas insérer le code directement. Voici

 #include  #include  int main() { long c = 0; while (getchar() != EOF) { ++c; } printf("%ld", c); return 0; } 

Dans l’image, je n’ai pas initialisé la valeur de long c . Désolé. Ce programme est en cours d’exécution, mais les méthodes que j’utilise pour EOF ne fonctionnent pas.

EDIT: J’ai essayé de comstackr NetBeans, puis d’exécuter le fichier .exe résultant dans cmd plutôt que dans la console NetBeans. CTRL+Z semble fonctionner! Avez-vous une idée de la raison pour laquelle cela ne fonctionne pas dans la console NetBeans?

getchar() stocke les caractères dans la mémoire tampon jusqu’à ce que vous appuyiez sur la touche Entrée. Après avoir appuyé sur la touche Entrée, le premier caractère est extrait de la mémoire tampon si aucune variable ultérieure n’est affectée. Comme vous l’avez utilisé while boucle, le processus durera jusqu’au \r\n .

Windows uniquement

Version du produit: NetBeans IDE 8.2 (Build 201609300101)

Mises à jour: l’EDI NetBeans est mis à jour vers la version NetBeans 8.2 Patch 2

Exécuter> Définir la configuration du projet> Personnaliser …

Catégorie = Run

Type de console = terminal externe

Type de terminal externe = Fenêtre de commande

Cliquez sur Appliquer puis sur OK

Exécuter le projet

Pour envoyer EOF, appuyez sur ENTER, puis sur CTRL + D ou appuyez deux fois sur CTRL + D