c语言中的EOF是什么意思?

如题所述

EOF是End Of File的意思,在C语言中定义的一个宏,用作文件结束标志。从数值角度看,就是-1。

从一个终端的输入从来不会真的“结束”(除非设备被断开),但把从终端输入的数据分区成多个“文件”却很有用,因此一个关键的序列被保留下来来指明输入结束。

在UNIX和AmigaDOS中,将击键翻译为EOF的过程是由终端的驱动程序完成的,因此应用程序无需将终端和其它输入文件区分开来。

Unix平台的驱动程序在行首传送一个传输结束字符(Control-D,ASCII编码为为04)来指明文件结束。

在AmigaDOS中,驱动程序传送一个Control-\来指明文件结束(而Control-D被用作中断字符)。要向输入流中插入一个真正的Control-D字符,用户需要把一个“引用”命令字符放在它的前面(通常是Control-V,表示下一个字符不作为控制字符,而是按照字面量使用)。

微软的DOS和Windows(以及CP/M和许多DEC操作系统)中,读取数据时终端不会产生EOF。此时,应用程序知道数据源是一个终端(或者其它“字符设备”),并将一个已知的保留的字符或序列解释为文件结束的指明;最普遍地说,它是ASCII码中的替换字符(Control-Z,代码26)。

一些MS-DOS程序,包括部分微软MS-DOS的shell(COMMAND.COM)和操作系统功能程序(如EDLIN),将文本文档中的Control-Z视为有意义数据的结尾,并且/或者在写入文本文档时将Control-Z添加到文档末尾。这是由于两个原因:

1、向后兼容CP/M。CP/M的第1版与第2版的文件系统以128字节“块”的倍数记录文件长度,所以当有意义数据在一个“块”的中间结束时,习惯上用Control-Z字符来标记它,此后至块结尾的字节为未利用。而MS-DOS文件系统总会记录文件确切的字节长度,所以在MS-DOS中文件不再必需以Control-Z字符来标记结尾。

2、它使得应用程序在从终端和文本文档读取数据时得以使用相同的代码。

概念:

在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。

应用:

档案存取或其它 I/O 功能可能传回等于象征符号值 (巨集) EOF 指示档案结束的情形发生。实际上 EOF 的值通常为 -1,但它依系统有所不同。巨集 EOF会在编译原始码前展开实际值给预处理器。

C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。

例如:

在 UNIX中, EOF表示能从交互式 shell (终端) 送出 Ctrl+D (习惯性标准)。在微软的 DOS 与 Windows 中能送出 Ctrl+Z。在某些例子处理纯文字档案或从"字元设备"读入资料,微软MS-DOS的 shell 或系统程序会加入ASCIIControl-Z 字元到磁碟档案结束处 (尽管基本核心MSDOS.SYS档案写入呼叫从未附加 Control-Z)。这是向下相容于一些奇特的CP/M功能,从CP/M 档案系统只能就记录的档案长度分配多少 128 位元 "记录"。MS-DOS 档案系统从一开始就能精确的记录档案的位元长度。

ASCII控制字符在字元串流是 out-of-band 不可列印字元。通常表可读的助忆码。

在控制台要输入eof的话 按ALT+65535就可以了。

与feof:

C语言中,当把数据以二进制形式存放到文件中时,就会有-1值的出现,此时不能采用EOF作为二进制文件的结束标志。为解决这个问题,ANSI C提供一个feof函数,用来判断文件是否结束。如果遇到文件结束,函数feof(fp)的值为1,否则为0.feof函数既可用以判断二进制文件是否结束,也可以用以判断文本文件是否结束。[1] 

例如:编写程序,用于把一个文本文件(源文件)复制到另一个文件(目的文件)中。源文件名为file_a.dat,目的文件名为file_b.dat。程序如下:

EOF 函数:

返回一个数值(整数类型Integer),它包含布尔值Boolean值True,表明已经到达为Random(Open语句方法)或顺序Input (Open 语句方法)打开的文件的结尾。

语法:

EOF(filenumber)

必要的filenumber参数是一个Integer,包含任何有效的文件号。

说明:

EOF (End Of File)

使用EOF是为了避免因试图在文件结尾处进行输入而产生的错误。

直到到达文件的结尾,EOF函数都返回False。对于为访问Random或Binary而打开的文件,直到最后一次执行的Get语句无法读出完整的记录时,EOF都返回False。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-24

EOF为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。

DO while not EOF(1)解释:判断当eof(1)的值为true时停止do循环。

使用EOF是为了避免因试图在文件结尾处进行输入而产生的错误。

直到到达文件的结尾,EOF函数都返回False。对于为访问Random或Binary而打开的文件,直到最后一次执行的Get语句无法读出完整的记录时,EOF都返回False。

扩展资料

EOF(filenumber):必要的filenumber参数是一个Integer,包含任何有效的文件号

EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。

BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。

EOF一般是指结尾,比如:SQL 中指针到最后一个 Rs.EOF = True 时,eof是判断SQL取出来的记录是否到末尾了;而bof是判断是不是在记录最前面。

第2个回答  2009-09-16
首先,eof()是一个函数,所以它有函数值,它的函数值有两个true和false。它的()里的1就是参数。
它的含义是:读取文件的指针指到文件尾时,它的值就是true。还没有读到文件尾时,它的值为false。
括号里的参数是它判断的文件的文件号。

这个函数使用的范围太有限了!平时做计算用不到它,只在读取顺序文件时才用的到。

DO while not EOF(1)解释:
判断当eof(1)的值为true时停止do循环。
——这一语句经常用到顺序文件的读取中。
第3个回答  2019-08-19
eod
是end
of
file的缩写

你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF。
scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。
所以,这个循环,将是一个死循环。
扩展资料:
EOF是一个计算机术语,为End
Of
File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end
of
file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。
在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
参考资料:EOF–搜狗百科
第4个回答  2009-09-16
EOF函数当达到文件尾时返回真,没到文件尾时当然是返回假了
那个就是说没达到文件尾时一直循环!

在c语言eof代表什么
在C语言中,EOF代表文件结束标记。EOF,即End Of File的缩写,是C语言中文件操作的一个重要概念。在文件读取过程中,当读取到文件末尾时,会碰到EOF这个标记,表示已经读取到了文件的最后。这是在进行文件逐行或逐字符读取时用来判断何时停止读取的一个重要依据。例如,在使用如fscanf、fgets等函数读取文件...

eof在c语言中表示什么意思?
eof在c语言中表示文件结束符。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。档案存取或其它 I\/O 功能可能传回等于象征符号值 ...

c语言中eof是什么意思?
C语言中EOF的含义是文件结束标记。在C语言中,EOF是一个常量,用于表示文件的结束。它是一个特殊的值,用于在读取文件时标识已经到达文件的末尾。当使用输入函数读取文件时,如果到达文件末尾或遇到读取错误,函数会返回EOF作为指示。这使得程序员能够判断何时已经读取完文件的所有内容。详细解释如下:在C语...

eof在c语言中表示什么
EOF在C语言中表示文件结束标记。以下是对EOF在C语言中的 一、EOF的基本概念 EOF,即End Of File的缩写,在C语言中用作文件处理的标识。它是一个特殊的宏定义,用于指示已经到达了文件的末尾。在进行文件读取操作时,当读取到文件末尾时,会返回一个特殊的值,即EOF,以此告知程序已经读取完毕。二、EO...

c语言 =eof是什么意思
EOF是一个非负整数,通常被定义为-1。这是因为EOF只需要表示文件的结束状态,而不需要表示具体的值。在C语言中,EOF的值可以用于任何需要整数类型的地方。例如,在读取文件时,可以将EOF与fgetc函数的返回值进行比较,以判断文件是否已经读取完毕。此外,EOF还可以用于设置文件标识符的结束标志,以表示一...

c语言中eof是什么意思?
C语言中EOF的含义是文件结束标记。C语言中,EOF是一个特殊的宏定义,用于表示文件读取的结束。在文件操作中,当读取操作到达文件的末尾时,会返回EOF作为一个标志,表明已经没有更多的数据可以读取了。这在文本文件中尤其常见,当遇到文件末尾时,不再读取任何字符。这对于判断循环读取文件是否到达末尾是...

eof在c语言中表示什么
EOF是一个计算机术语,为EndOfFile的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。在C语言中,或更精确地说成C标准函数库中表示文件结束符(endoffile)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,...

C语言的EOF是什么
EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。#define EOF (-1)除了表示文件结尾,EOF还可以表示标准输入的结尾。但是,标准输入与文件不一样,无法事...

c语言eof什么意思
C语言中的eof指的是在操作系统中表示资料源无更多的资料可读取。函数总会返回一个状态,是读取成功还是失败都用这个表示。scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回eof,否则,返回成功格式化并赋值的参数个数(>=0)。电脑使用小技巧:1.设置电脑自动关机时间--打开电脑的“设置...

c语言中eof的定义以及用法
在C语言中,EOF是一个常量,表示文件结束符。EOF是End of File的缩写,用于表示文件的结束。在C语言中,EOF被定义为一个整数常量,其值为-1。在C语言中,EOF常常用于判断文件是否已经读取到末尾。在读取文件时,可以使用EOF作为循环的终止条件,当读取到文件末尾时,返回EOF。例如,可以使用以下代码来...

相似回答