E0F

来源:互联网 发布:淘宝返利的网站有哪些 编辑:程序博客网 时间:2024/05/01 23:10
在C语言中,或更精确地说成C标准函式库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。

#include <stdio.h>main()

{int c, n1;       n1 = 0;

       while ((c = getchar()) != EOF)

       if (c == '\n')    ++n1;printf("%d\n", n1);}

getchar()函数在读到文件结束符或者遇到错误时返回EOF,这个程序可以在控制台中输入Ctrl + Z组合键来结束。

如linux中read函数用法: intread(int handle, void *buf, int nbyte);read()会把参数handle所指的文件传送nbyte个字节到buf指针所指的内存中。若参数nbyte为0,则read()不会有作用并返回0。返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或无可读取的数据。
_________________________________________________

还有一个要注意的:

全局变量是在编译期间初始化的,不能利用函数进行初始化。如

#include<...>int a=5;int geta(){   return a;}int b=geta();//initializer   element  is   not   constant int main(){  return 0;}
<span style="font-family: Arial, Helvetica, sans-serif;">解决方式之一就是把全局变量在函数中赋值;</span>

0 0