ищу функцию, которая ничего не делает / ждет - PullRequest
1 голос
/ 01 марта 2010

для C, есть ли функция, которая принимает int и не выполняет следующий оператор?

printf("a");
wait(500);
printf("b");

b будет напечатано через 500 мс после распечатки a. что-то в этом роде. извините за глупый вопрос, но я не знал, как искать такую ​​функцию.

Ответы [ 4 ]

9 голосов
/ 01 марта 2010

Нет ничего подобного в стандартном C. Однако POSIX определяет функцию sleep() (которая принимает аргумент в секундах), usleep() (которая принимает аргумент в микросекундах) и nanosleep() (наносекундное разрешение).

Можно также использовать функцию select() с NULL для всех трех наборов файловых дескрипторов, которые спят в течение секундных периодов, в старых системах, в которых нет usleep() nanosleep() (в наши дни это не такая большая проблема).

3 голосов
/ 01 марта 2010

В Windows вы можете попробовать:

#include <windows.h>

int main()
{
    // Do nothing for 5 seconds...
    Sleep(5000);

    return 0;
}

Подробнее об этом можно узнать здесь (официальный документ) или здесь (также и в linux) .

3 голосов
/ 01 марта 2010

Я полагаю, вы ищете функции sleep () или usleep ().

1 голос
/ 01 марта 2010

Посмотрите на это , если вы используете * nix.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...