"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > मैं इंटरैक्टिव अनुप्रयोगों के लिए C++ में नॉन-ब्लॉकिंग कंसोल इनपुट कैसे लागू कर सकता हूं?

मैं इंटरैक्टिव अनुप्रयोगों के लिए C++ में नॉन-ब्लॉकिंग कंसोल इनपुट कैसे लागू कर सकता हूं?

2024-11-08 को प्रकाशित
ब्राउज़ करें:798

How can I implement non-blocking console input in C   for interactive applications?

सी में नॉन-ब्लॉकिंग कंसोल इनपुट

आधुनिक सी में, नॉन-ब्लॉकिंग कंसोल इनपुट प्रोग्राम के दौरान यूजर कमांड को निर्बाध रूप से संभालने की अनुमति देता है जानकारी चलाना और आउटपुट करना जारी रखता है। इंटरैक्टिव अनुप्रयोगों और गेमिंग में यह क्षमता अक्सर महत्वपूर्ण होती है। धागा। यह दृष्टिकोण मुख्य प्रोग्राम को निष्पादित करना जारी रखने की अनुमति देता है जबकि पृष्ठभूमि थ्रेड इनपुट के लिए कंसोल की निगरानी करता है। निम्नलिखित कोड नमूना C 11 का उपयोग करके इस दृष्टिकोण को प्रदर्शित करता है:

#include #शामिल #शामिल #शामिल स्थिर std::string getAnswer() { std::स्ट्रिंग उत्तर; std::cin >> उत्तर; वापसी उत्तर; } मुख्य प्रवेश बिंदु() { std::chrono:: सेकंड्स टाइमआउट(5); std::cout भविष्य = std::async(getAnswer); यदि (future.wait_for(timeout) == std::future_status::ready) उत्तर = भविष्य.प्राप्त करें(); std::cout

स्पष्टीकरण:

#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