I want to make a code in which Name of User will be asked to input, but in a time limit of 15 seconds. If user cross the limit & failed to input a name(or any string), then code will be terminated & “Time Out” Massage will be display otherwise Name should be saved & “Thanks” massage will be display. I had try like this but it’s wrong & not working. Please give me a solution for this.. Thanks.
#include <stdio.h>
#include <time.h>
int timeout ( int seconds )
{
clock_t endwait;
endwait = clock () + seconds * CLOCKS_PER_SEC ;
while (clock() < endwait) {}
return 1;
}
int main ()
{
char name[20];
printf("Enter Username: (in 15 seconds)\n");
printf("Time start now!!!\n");
scanf("%s",name);
if( timeout(5) == 1 ){
printf("Time Out\n");
return 0;
}
printf("Thnaks\n");
return 0;
}
Probably this dummy program might help you:
Update:
This is now tested code.
Also, I have taken hints from man for
select. This manual already contains a code snippet which is being used to read from the terminal and timeout in 5 seconds in case of no activity.Just a brief explanation in case the code is not well written enough:
fd = 1) to the FD set.selectcall to listen to this FD set created forany activity.
timeoutperiod, that isread through the
readcall.Hope this helps.