C: Comment simuler un EOF?
-
12-09-2019 - |
Question
Je suis en train de lire le livre de K & R et en tapant dans les exemples de la première section, et il y a quelques exemples comme celui-ci:
while((c = getchar()) != EOF) {
//do something
}
Je teste ces exemples sur une boîte de Windows et en cours d'exécution ainsi les fichiers exe compilés à partir de l'invite de cmd
.
Pour tester l'exemple ci-dessus, comment puis-je simuler un EOF
? C'est, essentiellement comment puis-je faire cesser la boucle lors du test de l'exemple de l'invite de commande?
La solution
Pour entrer un EOF, utilisez:
- ^ Z ( Ctrl Z ) dans Windows
- ^ D sur les systèmes Unix
Autres conseils
Windows: Ctrl+Z
Unix :Ctrl+D
Tout d'abord, appuyez sur: Ctrl ^ X, suivant: Ctrl ^ D
Vous pouvez également simuler EOF en donnant explicitement une valeur variable int de -1.
Découvrez ce code pour plus de clarté:
#include<stdio.h>
int main() {
// char ch=getchar()
// int ch=-1;
if(ch==EOF) { printf("\nEOF: %d",EOF); }
if((ch!=EOF)==0) { printf("\nit is equal to 0"); }
if((ch!=EOF)==1) { printf("\nit is equal to 1"); }
else { printf("\n it is equal to other value"); }
system("pause");
return 0;
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow