A. c语言里面的EOF的用法及意义
EOF是end of file 的简写, 如读到文件末尾,则函数返回一个 EOF值,它是一个宏定义,一般值是-1。使用示例如下:
#include<stdio.h>
intmain()
{
charc;
while((c=getchar())!=EOF){
putchar(c);
}
return0;
}
说明:在Windows上按CTRL+Z键,表示EOF。
注意:EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符。
(1)遇到getcahr函数执行时,要输入第一个字符时就直接输入Ctrl+D,就可以跳出getchar(),去执行程序的其他部分;
(2)在前面输入的字符为换行符时,接着输入Ctrl+D;
(3)在前面有字符输入且不为换行符时,要连着输入两次Ctrl+D,这时第二次输入的Ctrl+D起到文件结束符的功能。
B. C语言中的EOF
可以继续输入 EOF表示文件的结尾
再stdio.h里面有定义 值为-1 按回车也会继续执行 直到循环遇到EOF结束符为止
C. c语言,文件出入输出中的EOF
这是在讲一个反例,即:这样写代码是有问题的,问题表现在两个地方:
while( ch != EOF ) //问题一:这时的ch还没有确定的值,所以,进行比较是合理的!
{
ch=getchar();
putchar(ch); //问题二:这里并没有考虑ch是字符,还是EOF
}
D. 怎么编写一个打印EOF值的程序我对EOF的概念很模糊
这个看语言了……不同语言、平台、编译器都可能有不同定义
比如大部分c的EOF值是指-1
这个值仅仅用来标识出文件已经到达末尾,你可以查找库函数定义文件里EOF取值,但这不具备可移植性或实用性。
你没办法去决定一个文件的EOF在哪里,只有当文件或流到达末尾时候,I/O会探测到并返回EOF
c语言中使用函数确定是否EOF
c++中会用一个bool变量来确定
E. C语言里的EOF(结束程序)怎么用
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。
一般EOF的值为-1,ASCII代码值的范围是0~255,不可能出现-1,因此可以用EOF作为文件结束标志。
EOF在windows对应的按键是CTRL+Z键,在linux系统上对应的按键是CTRL+D。比如下面的代码:
#include<stdio.h>
intmain()
{
intc;
while((c=getchar())!=EOF)
putchar(c);
return0;
}
运行程序按CTRL+Z键,即会显示“^Z",再次按回车键即可退出程序。
F. C语言中EOF是什么意思
eod 是end of file的缩写 。
你在用函数读入文件数据的时候,函数总会返回一个状态,是读取成功还是失败,那么这个状态怎么表示呢,所以就约定俗成定义一个标识符表示这个状态,就有了EOF。
scanf函数只有在第一个参数为NULL(空指针)的情况下,才可能返回EOF,否则,返回成功格式化并赋值的参数个数(>=0)。
所以,这个循环,将是一个死循环。
(6)c语言打印eof扩展阅读:
EOF是一个计算机术语,为End Of File的缩写,在操作系统中表示资料源无更多的资料可读取。资料源通常称为档案或串流。通常在文本的最后存在此字符表示资料结束。
在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。
在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
G. C语言输入EOF之后怎么看输出结果
正常来说 要以EOF结束输入, 那么在程序中会检查的.
比如 while(~scanf(.....))这样的.
检查到EOF后会继续执行剩余代码, 如果有输出 自然会输出到运行窗口.
如果没有显示,那么可能没检查到EOF
windows的EOF, 必须换行后, 输入ctrl Z , 再回车才行.
H. c语言中EOF的用法
EOF其实是整数-1,用于从文件读取数据的时候表示已经超越文件末尾这种错误状态。如果IO操作的结果是EOF,一般就意味着这次IO是失败的。
I. C语言关于打印EOF的问题
EOF表示end of the file
在C语言头文件中默认定义为了-1.
所以如果你程序运行时输入ctrl+Z(表示文件结束输入)
那么结果就会输出-1.
如果你改成
printf( "%c\n", c);注意超过了127的字符都是无法显示的,所以你也看不到EOF
J. C语言如何输入EOF
windows:
首先在最后一行结束后(此时未换行)输入ENTER键,新起一行,再输入ctrl+z,再输入时ENTER键即可。
Linux:
直接按CTRL+D快捷键
示例:
#include<iostream>
using namespce std;
void main()
{
int a;
while(cin >>a)
{
;//循环输入的代码块
}
}
(10)c语言打印eof扩展阅读:
C语言中,当把数据以二进制形式存放到文件中时,就会有-1值的出现,此时不能采用EOF作为二进制文件的结束标志。为解决这个问题,ANSI C提供一个feof函数,用来判断文件是否结束。
如果遇到文件结束,函数feof(fp)的值为1,否则为0.feof函数既可用以判断二进制文件是否结束,也可以用以判断文本文件是否结束。
例如:编写程序,用于把一个文本文件(源文件)复制到另一个文件(目的文件)中。源文件名为file_a.dat,目的文件名为file_b.dat。程序如下:
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
void file(FILE *,FILE *);
main ( )
{
FILE*fpin,*fpout;
fpin =fopen ("file_a.dat","r"); /*打开输入文件*/
fpout = fopen ("file_b.dat","w"); /*打开输出文件*/
file( fpin,fpout ); /*把fpin所指文件中的内容输出到fpout所指文件中*/
fclose ( fpin );fclose ( fpout ); /*关闭输入输出文件*/
}
void file( FILE *fpin, FILE *fpout )
{
char ch;
ch = getc ( fpin ); /*先读一次文件再去判文件是否结束*/
while ( !feof( fpin ) ) /*当未到文件末尾是进行循环*/
{
putc ( ch, fpout ); ch= getc ( fpin );} /*逐个字符进行复制*/
}