睡眠语句在 C++ 中无法正常工作
sleep statement not working properly in C++
我一直在使用这样的睡眠语句:sleep(2);有一段时间,但现在它突然不能正常工作了。每当我 运行 此代码(示例)时:
#include <iostream>
using namespace std;
int main() {
cout << "Hi";
sleep(2);
cout << "Hello";
}
不是先说 "Hi" 然后等两秒再说 "Hello",而是先等两秒然后显示 "Hi" 和 "Hello"。我以前写过其他代码,它们没有问题,但是一旦我创建一个新的目标 && 文件并尝试编写一些带有睡眠语句的代码,它就会再次做同样的事情: (.
请帮我解决这个问题,谢谢!
尝试刷新缓冲区。
#include <iostream>
using namespace std;
int main() {
cout << "Hi";
cout << flush; // add this line
sleep(2);
cout << "Hello";
}
根据std参考,你应该使用:
std::this_thread::sleep_for(2s);
当然,如果您使用多线程环境,这是最佳做法。
我一直在使用这样的睡眠语句:sleep(2);有一段时间,但现在它突然不能正常工作了。每当我 运行 此代码(示例)时:
#include <iostream>
using namespace std;
int main() {
cout << "Hi";
sleep(2);
cout << "Hello";
}
不是先说 "Hi" 然后等两秒再说 "Hello",而是先等两秒然后显示 "Hi" 和 "Hello"。我以前写过其他代码,它们没有问题,但是一旦我创建一个新的目标 && 文件并尝试编写一些带有睡眠语句的代码,它就会再次做同样的事情: (. 请帮我解决这个问题,谢谢!
尝试刷新缓冲区。
#include <iostream>
using namespace std;
int main() {
cout << "Hi";
cout << flush; // add this line
sleep(2);
cout << "Hello";
}
根据std参考,你应该使用:
std::this_thread::sleep_for(2s);
当然,如果您使用多线程环境,这是最佳做法。