C语言 空文件的结束符在哪?

C语言 空文件的结束符在哪?,第1张

C语言中,文件结束符就是EOF(End of File)。但这并不是一个实实在在存在的东西,是一个标志:若读取到文件末尾的时候,即没有数据可供读取的时候,读文件函数(fgets, fgetc等)就会返回EOF值。C语言中,EOF是个宏,在stdio.h文件中进行定义:#define EOF (-1)即:EOF就是整型数-1。我们写程序,可以通过判断读文件函数的返回值,来判断是否到了文件尾。C语言中,标准输入也是一种特殊的文件,但这个"文件”并没有具体的结束位置,所以,只能人为的创造结束位置 :windows下,在输入的空行位置,按ctrl+z可产生EOFlinux下,在输入时,按ctrl+d可产生EOF

c语言如何判断为空可用读文件 *** 作函数的返回值来判定,如:

函数: int fgetc(FILE *stream) //从参数stream 所指的文件中读取一个字符. 若读到文件尾而无数据时便返回EOF.

当以读方式打开文件后,第一次使用fgetc()就返回EOF,则表明文件是空文件。

参考代码:

#include <stdio.h>

void main()

{

    FILE *fp

    int ch

    fp=fopen("新建文本文档.txt","r")

    ch=fgetc(fp)

    if ( ch==EOF )

        printf("file is null\n")

    else

        printf("read a char : %c\n")

    fclose(fp)

}

注:

EOF不是文件中的一个字符,而是一个标志,C中定义EOF为-1,可在stdio.h中查到。

读文件函数,如:fgetc()在读到文件尾而无数据时便会返回EOF。

空文档是指字节数是0的文档。如果文档中有字符,则不是空文档。

EOF表示的文件结尾条件(end of file)的意思,这是在读取文件的时候才会出现的一个结束输入的符号,但是可以用键盘模拟,在windows系统中,按下Ctrl+Z和回车键来模拟EOF条件,UNIX和Linux用户应按Ctrl+D来模拟。

NULL其实就是0的字面表示法,可用于赋值给数组,字符串,指针等变量


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12099960.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存