模拟文件结束EOF

2019-01-10  本文已影响0人  06am

如以下程序计算字符的数量,需要在命令行中模拟EOF:

#include <stdio.h>
int main() {
    long numOfChar;

    numOfChar = 0;
    while (getchar() != EOF)
        numOfChar++;
    printf("%ld\n", numOfChar);    

    return 0;
}

windows中输入 control + z 即可;
Mac中输入 control + d 即可,mac连续按两下才是EOF结束符,按一下的效果跟按回车一样,也就是说,如果已经按了回车,只需要再按一下control + d就模拟EOF了。
如以下程序,输入abcde(5个字符):

#include <stdio.h>

int main() {
    int c;
   
    while (c = getchar() != EOF) {
        printf("!=EOF:%d\n", c);
        //putchar(c);
    }
    printf("==EOF:%d\n", c);
}

按一下control + d:


Screen Shot 2019-07-12 at 19.52.57.png

注意此时5个字符。

或者按一下enter:


Screen Shot 2019-07-12 at 20.05.48.png

注意此时6个字符(enter也算了)。

再按一下control + d:


Screen Shot 2019-07-12 at 19.53.05.png
上一篇 下一篇

猜你喜欢

热点阅读