大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
ctrl+z输入代表输入文件结束符。
创新互联公司长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为泰来企业提供专业的成都做网站、成都网站设计,泰来网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。
在输入函数从输入流stdin中读取到这个标识时会以返回值形式通知主调函数。返回值根据函数不同可能为NULL或EOF。
NULL是空指针标识,值为0,在stdio.h中被定义为(void *)0。
EOF是End Of File的简写,它是一个宏定义,包含在stdio.h中,值为-1。
一下根据常用的输入函数,分别介绍如何检查ctrl+z的输入。
1 getchar()
该函数作用为返回一个输入流的字符。其返回类型为int。如果不用来检查EOF,那么可以把它的返回值直接赋值给char型或者unsigned char型。如果要检查EOF,则必须赋值给int型,否则会和输入中的0xff值混淆。
int c;
while(1)
{
c = getchar();
if(c == EOF) break;//检查到EOF退出循环
}
2 scanf()
该函数是格式输入函数,属于最常用的输入函数。一般不会去检查它的返回值。
其返回值为成功输入值的变量个数。如果后续参数列表个数(除第一个参数格式字符串外)与返回值不符,则代表出错。 当返回值为EOF代表检测到ctrl+z输入。
while(scanf(...)!=EOF)//当遇到EOF退出。scanf的参数在这里并不重要。
{
//do something
}
3 gets()
该函数获取一行输入存为字符串,并把结尾的换行符转换为字符串结束符。
正常输入情况下,会返回输入的字符串指针。
当遇到ctrl + z输入时,它与其它输入函数不同,会返回NULL。
所以对于gets的判断可以写作:
char buf[1024];//用gets的时候一定要定义足够大空间,具体依实际应用要求。
while(gets(buf)!=NULL)//当为NULL时退出循环
{
//do something
}
ctrl+r相当于C语言的 ^r,这个ASCII是18
char ch;
while((ch=getchar())!='\0x12')
continue;
这样就可以用ch读取到为ctrl+r为止,这样将ch赋予相应的函数实现相应功能吧
原理大概是这样了。望采纳
看样子,应该是程序员自定义的一个子函数,你会用source insight么?用这个软件建立个工程,然后同步代码文件,ctrl+鼠标点击这个函数,就能跳转到那里了。不行的话,把源代码发给我帮你看看。ryuusetoou@163.com