E0F

  • Post author:
  • Post category:其他


	在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>



版权声明:本文为lin200753原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。