test1.c

来自「使用select实现的UNIX/Linux环境下的TCP聊天程序」· C语言 代码 · 共 48 行

C
48
字号
#include <stdio.h>#include <stdlib.h>#include <signal.h>#include <string.h>#include <errno.h>void signal_handler(int s);int main(int argc, char **argv){  int n;  signal(SIGINT, signal_handler);  for (;;)  {    //int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);    if ((n = select(1, NULL, NULL, NULL, NULL)) < 0)    {      if (errno == EINTR)      {	fprintf(stdout, "Interrupted by a signal, retry.\n");	continue;      }      else      {	fprintf(stderr, "Other error: %s, exit.\n", strerror(errno));	exit(1);      }    }    else if (n == 0)    {      fprintf(stdout, "timeout ...\n");    }    else    {      // TODO:    }  }  return 0;}void signal_handler(int s){  fprintf(stdout, "Caught signal %d\n", s);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?