社区
C语言
帖子详情
Unix文件尾有没有可能没有'EOF'? 怎么在屏幕上打印?
heasebyy
2005-09-07 04:33:28
文件末尾一定有'EOF'吗? UNIX下怎么打印出来?
...全文
286
8
打赏
收藏
Unix文件尾有没有可能没有'EOF'? 怎么在屏幕上打印?
文件末尾一定有'EOF'吗? UNIX下怎么打印出来?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
heasebyy
2005-09-08
打赏
举报
回复
Wolf0403(完美废人)(CSDN,请不要侮辱 Linux)
意思文件中没有什么EOF,只是文件读到末尾,没有东西可读了就返回EOF
明白
Wolf0403
2005-09-08
打赏
举报
回复
魔王:『你尽管叫破喉咙吧,没有人会来救你的……』
EOF 就是那个『没有人』
Linux 系统中 read(2) 函数当读取到文件结尾的时候,会直接返回 0 而不写入任何数据到提供的 buffer 中,直接证明了 EOF 的『不存在』特性。
标准库中用 -1 标识 EOF 实际上只是一个额外的示意方法,根本不代表『文件结尾有 EOF 这么一个数据且这个值就是 -1』
heasebyy
2005-09-07
打赏
举报
回复
文件操作的时候文件while到最后的时候如果找不到'EOF'不是死循环了吗?
所以想确认fopen以后需不需要CheckEof()来检查一下'EOF'
fp = fopen("file","r")
/* CheckEof()need? */
while(!feof(fp))
{
.....
}
bugebear3
2005-09-07
打赏
举报
回复
EOF为-1;
在WINDOWS下面相当于CTRL+C;
在LINUX下面相当于CTRL+D;
snowbirdfly
2005-09-07
打赏
举报
回复
那你看一下
#include <stdio.h>
#include <windows.h>
#include <stdlib.h>
int main()
{
printf("%d",EOF);
system("PAUSE");
return 0;
}
看一下结果~~~
snowbirdfly
2005-09-07
打赏
举报
回复
是啊~
当然有了~
Windows下面假如不是文件读取,判断键盘输入结尾是通过Ctrl+Z(相当于EOF)
而在Unix下面是Ctrl+D(也相当于EOF)
而且都是-1
不信,你可以编个简单程序看一下EOF的值~~
weixuzhe
2005-09-07
打赏
举报
回复
系统检测到文件结尾时的返回值是EOF.
zhouhuahai
2005-09-07
打赏
举报
回复
应该是有的,打印它?有什么用处?
EOF的值是-1
tee命令:轻松同步输出到
屏幕
与
文件
tee 命令在 Linux 和
Unix
系统中用于读取标准输入的数据,并将其同时输出到标准输出和
文件
中。简单来说,tee 命令可以用来分割数据流,使其既能够被输出到
屏幕
,也能够被写入到
文件
中。。
浅析
EOF
EOF
是end of file的缩写,在c语言中,用getchar()或者scanf()读取
文件
检测到结
尾
,都会返回一个特殊的值,这个返回值就是
EOF
。
EOF
定义在头
文件
stdio.h中:#define
EOF
(-1) 由于输入字符的返回值通常在0~127间,包括扩展字符集的返回值返回值也只不过在0~255间,也就是说,-1不对应任何字符,故可以标记
文件
结
尾
,其实-2或者-3当然也可以,
linux 和 window 的
EOF
学习linux 和 window 的
EOF
,记录如下。1.
文件
read在window下创建一个
文件
,输入如下:
文件
名: window.log 123456789 123 在linux下也创建一个
文件
,输入如下:
文件
名: linux.log 123456789 123在16进制下查看比较两个
文件
,截图如下: window.log linux.log 可见,window.
unix
文件
操作命令
1.1.1 ls [语法]: ls [-RadCxmlnogrtucpFbqisf1] [目录或
文件
......] [说明]: ls 命令列出指定目录下的
文件
,缺省目录为当前目录 ./,缺省输出顺序为纵向按字符顺序排列。 -R
c语言 输出定向到
文件
命令提示符窗口也能看见,关于cmd:显示Windows命令提示符输出并将其重定向到
文件
...
如何在Windows命令提示符下运行命令行应用程序并同时显示输出并重定向到
文件
?例如,如果我要运行命令dir > test.txt,则会将输出重定向到名为test.txt的
文件
而不显示结果。我怎么能写一个命令来显示输出并将输出重定向到Windows命令提示符中的
文件
,类似于
Unix
上的tee命令?请停止称它为MSDOS! cmd.exe和braindead command.com之间的相似之...
C语言
70,037
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章