gpt4 book ai didi

c - C 中的 Printf 使用 sleep 不起作用

转载 作者:行者123 更新时间:2023-11-30 18:17:56 25 4
gpt4 key购买 nike

为什么我的程序不是 printf ?

先 sleep ,然后写,但他应该反过来做..

#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);
}

程序的输出是:sleep,然后他写start sleep stop sleep,为什么?

编辑:工作解决方案是:

printf("start sleep");    
fflush(stdout);
sleepMilliSecond(10000);
printf("stop sleep");

最佳答案

printf 是缓冲 I/O。要强制将缓冲区写入输出,您可以按如下方式调用 fflush:

printf("start sleep");
fflush(stdout);
sleepMilliSecond(1000); //sleep 1s
printf("stop sleep");

关于c - C 中的 Printf 使用 sleep 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27077505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com