爲什麼我的程序不是printf?Printf in C with using sleep not working
先睡着了,然後寫道,但他應該這樣做反過來..程序
#include <stdio.h>
#include <stdlib.h>
#ifdef _WIN32
#include <Windows.h>
#else
#include <unistd.h>
#endif
void sleepMilliSecond(long milliSecondInput) {
#ifdef _WIN32
Sleep(milliSecondInput); // v milliSecondach
#else
usleep(pollingDelay * 1000); //microsekundy -> milisekundy
#endif
}
int main(int argc, char** argv) {
printf("start sleep");
sleepMilliSecond(1000); //sleep 1s
printf("stop sleep");
return (EXIT_SUCCESS);
}
輸出是:睡覺,然後他開始寫休眠停止睡眠,爲什麼呢?
編輯: 工作的解決方案是:
printf("start sleep");
fflush(stdout);
sleepMilliSecond(10000);
printf("stop sleep");
適合我! – Rizier123 2014-11-22 12:44:41
對於我來說不行,因爲他在睡眠時間間隔後寫入控制檯「START SLEEP」:( – tilefrae 2014-11-22 12:45:37
'printf'被緩衝。在第一個'printf'後面嘗試'fflush(stdout)' – SleuthEye 2014-11-22 12:46:00