linux程序运行之后,还没看到结果就直接退出了,我在主函数后面加了getchar试过,还是闪了一下就关闭了

龚婕妤 2019-12-21 18:29:00

推荐回答

你这方法太复杂了,建议用select。include#iinclude#includeintmygetcharintwait//你原来的是秒,我就按秒。不过建议按毫秒{intret=-1;structtimevaltimeout={0,0};timeout.tv_sec=longwait;fd_setfdset;intmaxfd=STDIN_FILENO;FD_ZERO&fdset;FD_SETSTDIN_FILENO,&fdset;interr=selectmaxfd+1,&fdset,&fdset,NULL,&timeout;iferr<0{printf"selecterror!";return-1;}ifFD_ISSETSTDIN_FILENO,&fdset{ret=getchar;printf"getachar''%c''",ret;}else{printf"timeout!";}returnret;。
堵文斌2019-12-21 18:57:34

提示您:回答为网友贡献,仅供参考。

其他回答

  • 在Linux下面是完全可以的,下面是整个编译和运行过程:/*getchar.c*/#includeintmainvoid{charc=getchar;putcharc;return0;}编译:$gcc-ogetchargetchar.c运行:$./getcharaa另外,如果你想输入EOF不要按Ctrl+Z,而应该按Ctrl+D。在Linux下面,Ctrl+Z是让进程进入后台执行,跟windows上不一样。如有问题,欢迎交流。
    龚崇玲2019-12-21 18:41:30

相关问答

故障分析:一般电脑出现异常是电脑本身系统出现设置错误或者系统文件被丢失、注册表被修改的情况导致。win7系统xitongcheng.com/win7/资源管理器停止工作解决方法:一、首先按住ctrl+alt+del键打开任务管理器,打开之后在任务管理器的主界面上点击“文件--新建任务”,会弹出一个创建新任务的窗口,然后在窗口上输入“explorer.exe”,再点击“确定”就设置好了。对winrar进行设置,这个winrar实际上就是一个解压的工具,可以直接在我的电脑上磁盘上进行搜索,找到这个winrar压缩工具之后,然后在点击“选项--设置---综合”,在综合的下方将“把WinRAR整合到资源管理器中”的勾去除掉即可。如图所示:二、发现还是会提示任务管理器停止工作的症状,那么可以通过在系统配置上禁用开机启动项,切换到“启动”的选项,确认好当前的状态如何后,按“全部禁用”,以便可以执行反操作还原。再切换到“服务”的选项卡后,选中“隐藏所有Microsoft服务”,同样确认好当前的状态如何后按“全部禁用”,在点击“确定”即可,然后重启电脑查看是否会出现任务管理器已停止工作的症状。三、注册表被破坏导致可能因为病毒或木马的影响,对注册表进行了修改,导致任务管理器无法正常运转,此时只需要进行注册表调整即可搞定。点击运行,输入"regedit"打开注册表编辑器,依次展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\,在该注册表项下建立名为System的项,在该项下创建名为DisableTaskMgr的“字串符值”或者“DWORD值,将键值设置为0则可解除任务管理器的禁止状态,设置为1则代表禁止。