程序运行时,如何输入EOF
<p class="artical_littlestyle1">1.终端中如何输入EOF</p><p>在C语言运行过程中,有时需要在终端手动输入EOF,其输入方法与操作系统有关。<br/>windows系统:实际上输入是在dos下面执行的,也就是运行时的那个黑底窗口。在windows下输入EOF需要输入CTRL+Z。<br/>Linux/Unix/Mac操作系统:在这类操作系统下,要输入EOF需要输入CTRL+D。<br/></p><p class="artical_littlestyle2">2.EOF输入时机不同,结果可能不同</p><p>终端输入EOF,EOF作为文件结束符时的情况:<br/>EOF虽然是文件结束符,但并不是在任何情况下输入Ctrl+D(Windows下Ctrl+Z)都能够实现文件结束的功能,只有在下列的条件下,才作为文件结束符。<br/>(1).遇到getchar()(或者getc())函数执行时,要输入第一个字符时就直接输入Ctrl+D,就可以跳出getchar()(或者getc()),去执行程序的其他部分;<br/>(2).在前面输入的字符为换行符时,接着输入Ctrl+D;<br/>(3).在前面有字符输入且不为换行符时,要连着输入<span style="color: rgb(255, 0, 0);">两次</span>Ctrl+D,这时第二次输入的Ctrl+D起到文件结束符的功能,至于第一次的Ctrl+D的作用并不是文件结束符,而只是相当于换行符的功能,即结束当前的输入,引发getchar()(或者getc())提示下一轮的输入。<br/></p><p class="artical_littlestyle3">3.总结</p><p>EOF的作用也可以总结为:当终端有字符输入时,Ctrl+D产生的EOF相当于结束本行的输入,将引起getchar()(或者getc())新一轮的输入;当终端没有字符输入或者可以说当getchar()(或者getc())读取新的一次输入时,输入Ctrl+D,此时产生的EOF相当于文件结束符,程序将结束getchar()的执行。<br/></p>
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla