سؤال

أنا أقرأ حاليا كتاب K & R والكتابة في الأمثلة من القسم الأول، وهناك أمثلة مثل هذا مثل:

while((c = getchar()) != EOF) {
    //do something
}

أختبر هذه الأمثلة على مربع Windows وبالتالي تشغيل ملفات EXE المترجمة من cmd مستعجل.

لاختبار المثال أعلاه، كيف أقوم بمحاكاة EOFب وهذا هو، كيف يمكنني جعل الحلقة توقف عند اختبار المثال من موجه الأوامر؟

هل كانت مفيدة؟

المحلول

لإدخال EOF، استخدم:

  1. ^ z (كنترولz.) في ويندوز
  2. ^ د على أنظمة مثل 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;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top