FD_ZERO(&readfds); FD_SET(STDIN_FILENO, &readfds); //STDINを監視する tv.tv_sec = 5; // 待ち時間 tv.tv_usec = 0; ret = select(STDIN_FILENO + 1, &readfds, NULL, NULL, &tv); //★ if (ret == -1) { /*エラー処理*/ } else if (ret == 0) { /*タイムアウト*/ } else { if (FD_ISSET(STDIN_FILENO, &readfds)) {/*STDINを読む*/ } } }