首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EOF是什么?

= EOF) {     putchar (c);   } 很自然地,我就以为,每个文件的结尾处,有一个叫做EOF的特殊字符,读取到这个字符,操作系统就认为文件结束了。...但是,后来我发现,EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。   #define EOF (-1) 于是,我就困惑了。...如果EOF是一个特殊字符,那么假定每个文本文件的结尾都有一个EOF(也就是-1),还是可以做到的,因为文本对应的ASCII码都是正值,不可能有负值。但是,二进制文件怎么办呢?...= EOF) {     do something   } 这样写有一个问题。fgetc()不仅是遇到文件结尾时返回EOF,而且当发生错误时,也会返回EOF。...= EOF) {     putchar(c);   } 但是,标准输入与文件不一样,无法事先知道输入的长度,必须手动输入一个字符,表示到达EOF

2.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

探秘BOF 和EOF

BOF和EOF是Recordset(记录集)对象的一对返回值类型为布尔型的属性。...为了理解更明了一些,画了一张图(如右图)来解释EOF和BOF,假设记录集中一共有n条记录,当当前记录指针指向第一条记录之前时,BOF属性值为True;当前记录指向中间1~n任意一条记录时,BOF和EOF...属性值 都为False;当前记录指向最后一条记录之后时,EOF 属性值为True。       ...当然,EOF和BOF合起来也可以实现一些功能,比如:        当判断语句BOF And EOF时,如果结果为True即它们倆的返回值都为True时则表明当前记录集中没有任何记录;而当记录中只有一个记录并处于该记录位置时...,BOF和EOF的返回值都为False。

91730

EOF 与 BOF 之分

EOF(end of file)——记录当前位置位于记录集集中最后一个记录之后 BOF(before of file)——记录当前位置位于记录集中第一个记录之前     用rs来表示这个记录集,假如记录集里面有...1、2、3、4个数据,BOF表示rs当前的指针是指在记录集的前面,指向的编号是(-1),当指针指向5时,就会发生EOF的情况。    ...当记录集为空时,就会同时发生BOF和EOF的情况,就是说rs的指针即在上界之外也在下界之外,这样rs的指针无论是指到什么地方都是同时具有bof和eof的属性。    ...在我们敲学生信息管理系统的时候,在语句中经常出现EOF和BOF的使用       1、If mrc.EOF Then——当前指针在最后一条记录之后       2、If Not mrc.EOF Then...And Not mrc.BOF ) Then——指针位于记录集之中,一定有记录       2、If mrc.EOF And mrc.BOF Then ——指针未在记录集之中,没有记录,说明数据库为空

1.2K20

EOF是不是字符

什么是 EOF? 百度百科上这样解释:EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。...在这个解释中,认为EOF是表示文件结束的字符——这就是本文要重点讨论的,EOF是不是一个字符? ? 在Unix、Linux系统上,用C语言读写文件,经常会遇到EOF。...之所以很多人认为EOF是一个字符串,可能是因为在C语言的程序中,会用getchar()和getc()检查是否遇到了EOF。...下面用一下段C语言程序,来看看EOF。在ANSI C中,EOF在标准库中,它的数字编码值一般是-1。...所以,现在可以断言:EOF不是一个字符。 再换一个角度考察。 如果EOF是字符,你就能在文件末尾“看”到它。

4.4K20

文件结束符EOF

>> 关于文件结束符EOF EOF 是 End Of File 的缩写。在C语言中,它是在标准库中定义的一个宏。人们经常误认为 EOF 是从文件中读取的一个字符(牢记)。...其实,EOF 不是一个字符,它被定义为是 int 类型的一个负数(比如 -1)。EOF 也不是文件中实际存在的内容。...'/n'(也可以是文件结束符EOFEOF将在后面讨论)时,getchar才会停止执行,整个程序将会往下执行。...同时,输入是按照文件的方式存取的,那么要结束一个文件的输入就需用到EOF(Enf Of File). 这也就是为什么getchar结束输入退出时要用EOF的原因。...因为getchar函数除了返回终端输入的字符外,在遇到Ctrl+D(Linux下)即文件结束符EOF时,getchar()的返回EOF,这个EOF在函数库里一般定义为-1。

4.3K10

【答疑解惑】getchar()与EOF

= EOF){ putchar(c); } 这一段代码是The C Programming Language(Second Edition)中一个经典的代码,很多初学者在看到这段代码时会有不少疑问,这里做一个简单的总结...当调用getchar函数读取输入时,只有当输入字符为换行符'/n'或文件结束符EOF时,getchar才会停止执行。...这句话的意思比如我们运行上面那段代码时,我们输入的是回车键或者EOF(linux下是按下Ctrl+D,windows下是按下Ctrl+Z)是,getchar才结束,而不是像它的名字一样,输入一个字符getchar...getchar的返回值 getchar()的返回值一般情况下是非负 值,但也可能是负值,即返回EOF。这个EOF在函数库里一般定义为-1。...正确的定义方法如下(K&R C中特别提到了这个问题): int c; c = getchar(); 二、EOF总结 在这个实例中,EOF并不是在任何情况下都作为文件结束符的。

1.2K90

【C语言】深入理解EOF

什么是 EOF? 在 C 语言中,EOF 是一个宏,用于表示文件结束标识符(End-of-File)。它是一个特殊的值,通常用于指示文件读取操作已经到达了文件的末尾。...在 C 语言标准库中,EOF 的具体值可以是一个负整数,具体取决于编译器和平台。...= EOF) { // 处理读取的字符 } 2、文件输入操作 在进行文件输入操作时,通常使用 EOF 来检查输入是否已经结束,例如: int value; while (scanf("%d",...= EOF) { // 处理输入的值 } 3、标记文件结束 在某些情况下,函数可能需要返回文件结束标识符,这时可以使用 EOF,例如: int readNextValue() { if...理解和熟练使用 EOF 可以帮助我们编写更加健壮和可靠的文件操作相关的 C 语言程序。希望本篇博客能够帮助你更好地理解 EOF 的用途和功能,并在日后的编程工作中能够更加熟练地运用它。

7410

C语言中EOF是什么意思?

相信很多朋友在学习C语言过程中,都看到过EOF的字样,但翻过整本C语言的书,也没有看到有这个函数或者关键字的,岂不是感觉很奇怪?难道学的不细有疏漏吗?当然不是!...=EOF) 这玩意啥意思呢?首先scanf你写while里就很奇怪了,初学者表示没见过这么嵌套写的,再加个EOF更离谱了,都让人怀疑这是不是C代码了.........=EOF本身是个逻辑判断,也就是真或者假,所以可以作为条件判断写到while里,那么最主要的问题来了,EOF到底啥玩意?...随便打开一个包含这个头文件的程序,右键即可),然后搜索EOF即可发现答案! 如下: ? ? 怎么样?看到了吧,EOF其实就是-1! 也就是说EOF就是个数字,被定义为-1而已! 为什么这样做呢?...,所以也就有了 #define EOF (-1) 这样的话!

3.1K50
领券