求C语言EOF和Ctrl+Z,到底是怎么回事。要EOF到正确用法最好有例子。
详细说明怎么结束的,据说是Ctrl+Z但是,我是在linux下用的Ctrl+Z好像是结束程序吧,完全蒙了,求解释,但我没分了,请原谅,有分一定加。。。...
详细说明怎么结束的,据说是Ctrl+Z但是,我是在linux下用的Ctrl+Z好像是结束程序吧,完全蒙了,求解释,但我没分了,请原谅,有分一定加。。。
展开
展开全部
晕啊,这两个没有什么关系吧?eof是文件结束符,也就是一个文件的结束符号,就比如c语言字符串是以\0结尾一样,一般eof使用在读取文件的时候如果读到了文件末尾那么这个读文件退出。当然你可以使用eof的宏定义的值做其他的事情。
而ctrl+Z这是一个外部操作,不依赖于程序内部哇。从原来上来说这是通过信号量实现来实现的,这个是操作系统层面的东西哦,楼主对信号量有概念不?程序的运作过程中,你使用ctrl+Z,操作系统会产生一个信号发送给进程,进程可以捕获此信号做操作的。如果没有捕获那么调用操作系统默认的操作,ctrl+C就是结束进程。
而ctrl+Z这是一个外部操作,不依赖于程序内部哇。从原来上来说这是通过信号量实现来实现的,这个是操作系统层面的东西哦,楼主对信号量有概念不?程序的运作过程中,你使用ctrl+Z,操作系统会产生一个信号发送给进程,进程可以捕获此信号做操作的。如果没有捕获那么调用操作系统默认的操作,ctrl+C就是结束进程。
展开全部
C语言中,EOF即文档的结尾.但是,当你写一个小程序,并以EOF作为判断条件时,就无法输入文档的结尾了,只能人工输入一个,这个人工输入的文档结尾就是Ctrl+Z
比如:
#include <stdio.h>
int main()
{
int c;
do
{
printf("请输入文档的结尾标志");
}while((c=getchar())!=EOF);
printf("已得到文档结束标志");
return 0;
}
当程序运行的时候,没有文档结尾,只能找一个命令来替代文档结尾,那就是Ctrl+z
如上面的一段程序,当你输入Ctrl+z的时候,程序提示已得到文档结束标志
比如:
#include <stdio.h>
int main()
{
int c;
do
{
printf("请输入文档的结尾标志");
}while((c=getchar())!=EOF);
printf("已得到文档结束标志");
return 0;
}
当程序运行的时候,没有文档结尾,只能找一个命令来替代文档结尾,那就是Ctrl+z
如上面的一段程序,当你输入Ctrl+z的时候,程序提示已得到文档结束标志
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Linux下用 Ctrl+D,就可了!这是因为stdin设置的问题!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询