Windows/Linux C/C++任意键继续

  • Post author:
  • Post category:linux


#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
#include <stdlib.h>
#else
#include <termios.h>
#include <unistd.h>
#endif
int press_key();
int main()
{
   press_key();
   return 0;
}

int press_key()
{
#ifdef _WIN32
   system("pause");
   return 0;
#else
   printf("Press any key to continue...\n");
   struct termios tm, tm_old;
   int fd = STDIN_FILENO,c;
   if (tcgetattr(fd, &tm) < 0)
   {
      return -1;
   }

   tm_old = tm;
   cfmakeraw(&tm);
   if (tcsetattr(fd, TCSANOW, &tm) < 0)
   {
      return -1;
   }
   c = fgetc(stdin);

   if (tcsetattr(fd,TCSANOW,&tm_old) < 0)
   {
      return -1;
   }
   return c;
#endif
}

转载于:https://www.cnblogs.com/yuandaozhe/p/11572614.html