打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
uc中关于输入缓冲区的问题 printf中加\n 和fflush
userphoto

2018.04.23

关注
 一、fflush输出输入缓冲区里的内容
​  1 #include <stdio.h>
  2 #include <signal.h>
  3 //信号处理函数
  4 void handler(int signum){
  5     printf("signum %d...",signum);
  6     fflush(stdout);
  7     return ;
  8
  9 }
 10 int main(void){
 11     //signal(2,SIG_IGN);
 12     signal(2,handler);
 13     while(1){
 14
 15
 16     };
 17
 18     return 0;
 19 }​
tarena@ubuntu:~/uc/day09$ gcc signal.c
tarena@ubuntu:~/uc/day09$ ./a.out
^Csignum 2...^Csignum 2...^Csignum 2...^\退出 (核心已转储)
tarena@ubuntu:~/uc/day09$
​前面是ctrl+c 产生的,后面退出用ctrl+\ 退出

​二、printf加\n,输出输入缓冲区里的内容
​  1 #include <stdio.h>
  2 #include <signal.h>
  3 //信号处理函数
  4 void handler(int signum){
  5     printf("signum %d...\n",signum);
  6    // fflush(stdout);
  7     return ;
  8
  9 }
 10 int main(void){
 11     //signal(2,SIG_IGN);
 12     signal(2,handler);
 13     while(1){
 14
 15
 16     };
 17
 18     return 0;
 19 }​
tarena@ubuntu:~/uc/day09$ gcc signal.c
tarena@ubuntu:~/uc/day09$ ./a.out
^Csignum 2...
^Csignum 2...
^Csignum 2...
^Csignum 2...
^Csignum 2...
^\退出 (核心已转储)
tarena@ubuntu:~/uc/day09$

​三、
​  1 #include <stdio.h>
  2 #include <signal.h>
  3 //信号处理函数
 10 int main(void){
 11     //signal(2,SIG_IGN);
 13     while(1){
 14
 15
 16     };
 17
 18     return 0;
 19 }
tarena@ubuntu:~/uc/day09$ gcc signal.c
tarena@ubuntu:~/uc/day09$ ./a.out
^C^C^C^C^C^\退出 (核心已转储)
tarena@ubuntu:~/uc/day09$



本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
fflush(stdou)
Linux环境进程间通信(二): 信号(下)
C/C++捕获段错误,打印出错的具体位置(精确到哪一行)
signal函数
Linux信号处理机制
linux信号函数
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服