我一直在做一个程序,它利用了sleep()函数。我希望它是跨平台的macOS,Linux和Windows,但有三个分支是乏味的工作和可怕的做。我该怎么做才能让它跨平台?而让程序等待几秒钟的功能又是什么呢?当我测试它的时候,它甚至不起作用...
Linux代码似乎不起作用...
#include <iostream>
#include <unistd.h>
using namespace std;
int loading() {
sleep(0.25);
cout << "Loading... ";
sleep(0.25);
cout << "hi";
sleep(0.25);
cout << "e";
sleep(0.25);
return 0;
}
int main() {
loading();
return 0;
}
Windows也不...
#include <iostream>
#include <windows.h>
using namespace std;
int loading() {
Sleep(250);
cout << "Loading... ";
Sleep(250);
cout << "hi";
Sleep(250);
cout << "e";
Sleep(250);
return 0;
}
int main() {
loading();
return 0;
}
是语法错误,还是我用错了?
从C++11开始,您可以使用std::this_thread::sleep_for
using namespace std::chrono_literals;
std::this_thread::sleep_for(250ms);