Функция тайм-аута

Я хочу создать код, в котором имя пользователя будет предложено ввести, но в течение ограниченного времени 15 секунд. Если пользователь пересекает лимит и не может ввести имя (или любую строку), то код будет прерван, и отобразится сообщение «Тайм-аут», в противном случае имя должно быть сохранено, и отобразится сообщение «Спасибо». Я пробовал вот так, но это неправильно и не работает. Пожалуйста, дайте мне решение для этого .. Спасибо.

#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;
}
7
задан Hit's 29 August 2011 в 05:55
поделиться