ج: كيفية محاكاة eof؟
-
12-09-2019 - |
سؤال
أنا أقرأ حاليا كتاب K & R والكتابة في الأمثلة من القسم الأول، وهناك أمثلة مثل هذا مثل:
while((c = getchar()) != EOF) {
//do something
}
أختبر هذه الأمثلة على مربع Windows وبالتالي تشغيل ملفات EXE المترجمة من cmd
مستعجل.
لاختبار المثال أعلاه، كيف أقوم بمحاكاة EOF
ب وهذا هو، كيف يمكنني جعل الحلقة توقف عند اختبار المثال من موجه الأوامر؟
المحلول
لإدخال EOF، استخدم:
- ^ z (كنترولz.) في ويندوز
- ^ د على أنظمة مثل UNIX
نصائح أخرى
أشير إف
Windows: Ctrl+Z
Unix :Ctrl+D
أولا، اضغط: Ctrl ^ x، التالي: Ctrl ^ D
يمكنك أيضا محاكاة eof من خلال إعطاء متغير Int بشكل صريح قيمة -1.
تحقق من هذا الرمز للحصول على المزيد من الوضوح:
#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;
}
لا تنتمي إلى StackOverflow