सी में नॉन-ब्लॉकिंग कंसोल इनपुट
आधुनिक सी में, नॉन-ब्लॉकिंग कंसोल इनपुट प्रोग्राम के दौरान यूजर कमांड को निर्बाध रूप से संभालने की अनुमति देता है जानकारी चलाना और आउटपुट करना जारी रखता है। इंटरैक्टिव अनुप्रयोगों और गेमिंग में यह क्षमता अक्सर महत्वपूर्ण होती है। धागा। यह दृष्टिकोण मुख्य प्रोग्राम को निष्पादित करना जारी रखने की अनुमति देता है जबकि पृष्ठभूमि थ्रेड इनपुट के लिए कंसोल की निगरानी करता है। निम्नलिखित कोड नमूना C 11 का उपयोग करके इस दृष्टिकोण को प्रदर्शित करता है:
#include
स्पष्टीकरण:
#include
#include
#include
#include
static std::string getAnswer()
{
std::string answer;
std::cin >> answer;
return answer;
}
int main()
{
std::chrono::seconds timeout(5);
std::cout future = std::async(getAnswer);
if (future.wait_for(timeout) == std::future_status::ready)
answer = future.get();
std::cout मुख्य प्रोग्राम उपयोगकर्ता इनपुट की प्रतीक्षा करने के लिए 5 सेकंड का टाइमआउट सेट करता है . यदि उपयोगकर्ता इस समय के भीतर इनपुट दर्ज करता है, तो प्रोग्राम उत्तर चर को इनपुट पर सेट करता है। अन्यथा, यह डिफ़ॉल्ट रूप से "शायद" होता है।यह गैर-अवरुद्ध इनपुट दृष्टिकोण प्रोग्राम को उपयोगकर्ता इनपुट पर कुशलतापूर्वक प्रतिक्रिया करते हुए अपनी चालू गणना और आउटपुट जारी रखने की अनुमति देता है। यह इंटरैक्टिव सी अनुप्रयोगों के निर्माण के लिए एक शक्तिशाली तकनीक है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3