C之文件结尾

  文件结尾在不同的操作系统上有可能不同,但一般都是如下两种中的一种:

  1、ctrl+z标志文件结尾:即通过一个内嵌的ctrl+z来标志文件的结尾,例如:

  Hello,I am MS.\n^Z

  2、利用文件大小表示结尾:这种方式下,操作系统存储文件的大小。例如,一个文件一共有1000字节,系统已经从中读取了1000字节,则这个文件已经到了末尾。目前,Unix使用这种方式标识文件结尾。

 

  C模拟文件结尾:

  先看如下代码:

#include<stdio.h>
int main(void){
    int ch;
    while((ch = getchar()) != 'EOF'){
        putchar(ch); 
    }

    return 0;     
}
       

代码其实很简单,就是一个回显的程序。其中的'EOF'字符是C中定义在stdio.h中的文件结束字符。现在运行它,会发现无论你输入什么,计算机都会在怒按下回车键后重新显示你的输入。

  那么怎么模拟文件结尾呢,这个不同的操作系统也不一样,在我的Linux环境下是Ctrl+D,Windows下好像是Ctrl+Z。重新运行上述程序,在家输入中按下Ctrl+D发现程序结束并显示了你在按下Ctrl+D之前的所有字符。

posted @ 2015-02-03 16:28  Flipped_chy  阅读(680)  评论(0编辑  收藏  举报