دادن زمان در سی++ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

دادن زمان در سی++

0 امتیاز
سلام،دوستان اگر من بخام یه برنامه ای بنویسم که بعد از مثلا اجرای چند خط ، به مدت 5 ثانیه یا چند دقیقه صبر کنه بعد ادامه بده ، باید از چی استفاده کنم؟

منظورم استفاده از تایمر در سی++ هست.

با تشکر.
سوال شده شهریور 29, 1393  بوسیله ی hosseinam1370 (امتیاز 163)   8 22 34
از تابع هایی مثل Sleep یا usleep یا مثل این: http://stackoverflow.com/a/18385988/2029077
بدترین راه ممکن گذاشتن while هست(n ثانیه cpu یک شرط الکی رو چک کنه ؟؟) شاید اون کد optimize هم توی مد release بشه

1 پاسخ

+2 امتیاز
 
بهترین پاسخ

 از chrono  و تابع sleep_for استفاده کنید:

#include <iostream>
#include <thread>
#include <chrono>

int main()
{
    std::cout<<"Shoroo\n";
    std::chrono::seconds time( 10 );//10 sanie
    std::this_thread::sleep_for( time );
    std::cout<<"payan";
    return 0;
}

 

اگر داخل محیط ویندوز هستیداز تابع Sleep هم میشه استفاده کرد (که پیشنهاد نمیشه ) :

#include <iostream>
#include <windows.h>

int main()
{
    std::cout<<"Shoroo";
    Sleep(10000);//10000ms ya 10 sanie sabr mikone
    std::cout<<"payan";
    return 0;
}
پاسخ داده شده شهریور 29, 1393 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
انتخاب شد شهریور 30, 1393 بوسیله ی hosseinam1370
سلام.
چرا Sleep پیشنهاد نمیشه؟
...