विन 32 पर सी ++ में एक प्रोग्राम को "रोकें" कैसे करता है, और किस पुस्तकालयों को शामिल किया जाना चाहिए?Win 32 पर C++ में प्रोग्राम कैसे सोते हैं?
उत्तर
#include <windows.h>
Sleep(number of milliseconds);
या यदि आप अपने कार्यक्रम को रोकने के लिए, जबकि एक अन्य कार्यक्रम के लिए इंतज़ार कर चाहते हैं, WaitForSingleObject का उपयोग करें।
आप को बढ़ावा देने का उपयोग कर रहे हैं, तो आप thread::sleep
फ़ंक्शन का उपयोग कर सकते हैं:
#include <boost/thread/thread.hpp>
boost::system_time time = boost::get_system_time();
time += boost::posix_time::seconds(1);
boost::thread::sleep(time);
अन्यथा, आप Win32 एपीआई का उपयोग करने के लिए जा रहे हैं:
#include <windows.h>
Sleep(1000);
और, जाहिरा तौर पर, सी + + 0x में यह शामिल है:
#include <thread>
std::this_thread::sleep_for(chrono::seconds(1));
मेरा भगवान, वह आखिरी पंक्ति बदसूरत है। –
@ स्टेव: माफ़ी माफी। –
जब तक आप सी ++ मानक समिति पर नहीं हैं, तब तक मैं आपको दोष नहीं देता ;-) –
यदि आप प्रोग्राम को "रोके गए" के दौरान उत्तरदायी रहने की इच्छा रखते हैं, तो आप ne एक टाइमर घटना का उपयोग करने के लिए एड।
वास्तव में, क्यूटी में, यदि आप चाहते हैं कि आपका प्रोग्राम उत्तरदायी हो, जबकि मुख्य थ्रेड से निष्पादित कोड के टुकड़े से रोका गया हो, तो आप मुख्य धागे में भी अपने टाइमर की टाइमआउट घटना नहीं करना चाहती। –
यह इस बात पर निर्भर करता है कि आप किस प्रकार का प्रोग्राम लिख रहे हैं।
एक कंसोल ऐप बस सो सकता है। एक जीयूआई ऐप शायद ऐसा नहीं करना चाहता, क्योंकि सभी मेनू और विजेट असंवेदनशील हो जाएंगे, और ऐप इस अवधि के दौरान खुद को फिर से नहीं लेगा। इसके बजाए आपको कुछ समय करने की ज़रूरत है जैसे कॉलबैक के साथ टाइमर को सेट अप करें।
अपने जीयूआई में एक नींद समारोह का उपयोग न करें अगर यह आपके द्वारा काम किए जा रहे ढांचे द्वारा प्रदान नहीं किया जाता है। यह डेटा को संदर्भित समस्याएं बना सकता है (विशेष रूप से उस धागे में जो मुख्य धागा नहीं है)। यह आपको जीयूआई जमा कर सकता है। यह सिर्फ थोड़े समय के लिए सोने का सवाल नहीं है, अगर आपको ऐसा करने की ज़रूरत है तो प्रतीक्षा करें।
कृपया ध्यान दें कि कोड ऊपर संहिता :: ब्लाकों 12.11 और विजुअल स्टूडियो पर परीक्षण किया गया था विंडोज 7
पर 2012
अपने कार्यक्रम को रोकने या इंतजार मजबूर कर के लिए, आप कई विकल्प हैं:
- नींद (अहस्ताक्षरित int)
मूल्य मिलीसेकंड में एक सकारात्मक पूर्णांक होना चाहिए।
#include <iostream> //for using cout
#include <stdlib.h> //for using the function sleep
using namespace std; //for using cout
int main(void)
{
cout << "test" << endl;
sleep(5000); //make the programme waiting for 5 secondes
cout << "test" << endl;
sleep(2000); // wait for 2 secondes before closing
return 0;
}
आप बहुत लंबा इंतजार हैं, कि शायद पैरामीटर का मतलब है दूसरे में है: इसका मतलब है कि यदि आप 2 सेकंड के लिए अपने कार्यक्रम इंतजार करना चाहते हैं, 2000
यहाँ दर्ज एक उदाहरण है। तो इस तरह इसे बदल:
sleep(5);
जो लोग त्रुटि संदेश या समस्या नींद का उपयोग कर विशेष रूप से कोड :: Bloks पर _sleep या नींद से इसे बदलना कोशिश पाने के लिए।
और यदि आपको अभी भी समस्या हो रही है, तो कोड की बिगिनिंग पर इस लाइब्रेरी को जोड़ने का प्रयास करें।
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <dos.h>
#include <windows.h>
- प्रणाली ("रोकें")
एक सरल "नमस्ते दुनिया" खिड़कियों सांत्वना आवेदन पर कार्यक्रम आप कुछ भी देख सकते हैं इससे पहले कि शायद पास होगा। वह मामला जहां आप सिस्टम का उपयोग कर सकते हैं ("रोकें")।
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
system("PAUSE");
return 0;
}
आप संदेश मिलता है "त्रुटि: 'प्रणाली' इस दायरे में घोषित नहीं किया गया था" बस कोड की biggining पर निम्न पंक्ति जोड़ें:
#include <cstdlib>
- cin.ignore()
एक ही परिणाम cin.ignore() का उपयोग करके पहुंचा जा सकता है:
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
cin.ignore();
return 0;
}
- cin.get()
उदाहरण:
#include <iostream>
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
cin.get();
return 0;
}
- getch()
बस पुस्तकालय conio.h जोड़ने के लिए भूल नहीं है:
#include <iostream>
#include <conio.h> //for using the function getch()
using namespace std;
int main(void)
{
cout << "Hello world!" << endl;
getch();
return 0;
}
आप संदेश आप) _getch उपयोग करने के लिए (कह कर सकते हैं getch
सी ++ 11 में, आप मानक लाइब्रेरी सुविधाओं के साथ ऐसा कर सकते हैं:
#include <chrono>
#include <thread>
std::this_thread::sleep_for(std::chrono::milliseconds(x));
- 1. सोते अभिनेता?
- 2. WIN-7
- 3. कितने संसाधन सोते हैं और प्रतीक्षा थ्रेड
- 4. कैसे CTRL-C जावा प्रोग्राम
- 5. सोते समय एंड्रॉइड पर इंटरनेट चालू करें
- 6. आवारा '\ 342' C++ प्रोग्राम
- 7. C++ प्रोग्राम जीएमपी पुस्तकालय
- 8. बैच फ़ाइल में विंडोज 7 32-बिट प्रोग्राम फ़ाइलें पथ
- 9. आप विंडोज़ पर node.js में बाहरी प्रोग्राम कैसे चलाते हैं?
- 10. मैं Win x64 में 32 और 64 बिट अनुप्रयोगों के बीच HWND कैसे साझा कर सकता हूं?
- 11. 64 बिट वीसी ++ प्रोग्राम 32 बिट मोड
- 12. पूर्णांक C++ में गुणा कैसे करते हैं?
- 13. Mercurial win instal: no ini फ़ाइलें
- 14. कर्नेल 32.dll और user32.dll पर केवल निर्भरता के साथ एक सी ++ प्रोग्राम संकलित करें?
- 15. क्या सी प्रोग्राम प्रोग्राम C++ अपवादों को संभाल सकता है?
- 16. 64-बिट सी ++ प्रोग्राम में 32-बिट लाइब्रेरी का उपयोग
- 17. मिनजीडब्ल्यू पर जीडीबी में, प्रोग्राम को रोकें Ctrl-C कैसे करें?
- 18. प्रोग्राम बटन पर प्रोग्राम बटन पर फ़ोकस कैसे सेट करें?
- 19. किसी प्रोग्राम के सही डिज़ाइन के बारे में भ्रम C++
- 20. पूर्ण स्क्रीन में एक C++ कंसोल प्रोग्राम चलाना
- 21. आप आम तौर पर प्रोग्राम को सुंदर कैसे दिखते हैं?
- 22. 32-बिट मेमोरी और 32-बिट प्रोसेसर
- 23. प्रोग्राम प्रोग्राम के रूप में माउस प्रोग्राम कैसे उत्पन्न करें?
- 24. सी सी प्रोग्राम में% c प्रिंट्स का मूल्य कैसा है?
- 25. "प्रोग्राम फाइल" फ़ोल्डर का पथ प्राप्त करें जिसमें 32-बिट प्रोग्राम
- 26. एंड्रॉइड फोन सोते समय नेटवर्क एक्सेस
- 27. एक C/C++ प्रोग्राम कैसे प्रणाली (विंडोज, लिनक्स, मैक ओएस एक्स) मुख्य() फ़ंक्शन
- 28. आईडीएलई में एक पायथन प्रोग्राम में ब्रेकपॉइंट्स कैसे जोड़ते हैं?
- 29. C#+ में Win32 ऐप को C#+ में .NET ऐप पर विकसित करने के लिए क्या फायदे हैं?
- 30. कैसे ऋणात्मक संख्याओं 32-बिट पर हस्ताक्षर किए पूर्णांक में प्रतिनिधित्व कर रहे हैं?
त्रुटि त्रुटि C3861: 'नींद': पहचानकर्ता नहीं मिला // #in36e –
क्या आप अपना कोड पोस्ट कर सकते हैं और आप किस कंपाइलर का उपयोग कर रहे हैं? यह मेरी मशीन पर जीसीसी के साथ काम करता है: # शामिल int मुख्य() { नींद (1000); } –
IVlad
ठीक है आपके पास आधुनिक है और इसलिए पहले लाइन में और बूढ़े इनके बाद, क्या यह नियम है? कम से कम यह उस आदेश के साथ काम किया। –