2010-07-12 11 views
7

में फ़ंक्शन clrscr क्या आज का सी या सी ++ कंपाइलर clrscr सिस्टम फ़ंक्शन का उपयोग करता है?सी और सी ++

उत्तर

13

clrscr() एक गैरमानक समारोह (न है और न ही ISO C++-98 में ISO C99 में उल्लेख किया है) <conio.h> में परिभाषित किया गया है (जो मानक के अनुरूप ही नहीं है) है। हालांकि कुछ कंपाइलर (जैसे Turbo C/C++) इसे एक एक्सटेंशन के रूप में समर्थन करते हैं।

+0

देखें तो क्या हम clrscr – dom

7

conio.h में सभी सामग्री की तरह। clrscr() के पास मानक सी conio के साथ कुछ भी नहीं है, निम्न स्तर के कंसोल के लिए प्राचीन डॉस-आधारित सी कार्यान्वयन का एक सामान्य एपीआई है - स्क्रीन को साफ़ करने, कर्सर को ले जाने, व्यक्तिगत कीस्ट्रोक पढ़ने आदि जैसी चीज़ें। मुझे नहीं पता इतिहास लेकिन संभवतः यह डॉस के पास ANSI.SYS से पहले कर्सर पोजीशनिंग के लिए मानक टर्मिनल-एस्केप कोड का समर्थन करने के लिए, स्क्रीन को साफ़ करने, रंग बदलने, रंगों को बदलने,

यदि आप सिर्फ सी सीखने के आसपास खेल रहे हैं, तो इसमें कोई हानि नहीं है conio फ़ंक्शंस का उपयोग करके, लेकिन आपको #include <conio.h> की आदत बनाने से बचना चाहिए। एसओ पर मैंने देखा है कि अधिकांश प्रश्नों में conio.h शामिल किया गया था, इसका उपयोग भी नहीं किया जा रहा था ... इस तरह की बुरी आदत बेवकूफ रूप से गैर-योग्य कोड की ओर ले जाती है।

+1

के बजाय लिनक्स में उपयोग 'conio.h' है एक ही रास्ता के लिए विश्वसनीय यूनिकोड इनपुट और आउटपुट प्राप्त करने के लिए (अलग देशी एपीआई कार्यों सीधे का उपयोग करने से) विंडोज कंसोल, इसलिए यह आज भी एक भूमिका निभाता है। – Philipp

+0

क्या कंसोल io 'codepage' को UTF-8 पर सेट करना संभव नहीं है? मुझे 'एएनएसआई कोडपेज' को यूटीएफ -8 में सेट करना संभव नहीं है, लेकिन मैंने सोचा कि विंडोज़ ने अन्य संदर्भों में यूटीएफ -8 को अनुमति दी है। –

0

इसके अलावा, conio.h के विकल्प के रूप में, आप ncurses का उपयोग करने का प्रयास कर सकते हैं, जो टर्मिनल हैंडलिंग, कर्सर प्रबंधन, रंग और कई अन्य कार्यक्षमताओं को प्रदान करता है। विशेष रूप से, यह clear() फ़ंक्शन को आपके द्वारा उल्लिखित clrscr() फ़ंक्शन के समान कार्यक्षमता प्रदान करता है। विंडोज के लिए (जो आपका मामला होना चाहिए), PDCurses है जो एक ही एपीआई को नियोजित करता है। विशेष रूप से, ncurses एक्सएसआई शापित बेस विनिर्देश का अनुपालन करता है, और इसे व्यापक रूप से अपनाया जाता है; यदि पोर्टेबिलिटी की कोई डिग्री मायने रखती है तो आपको इसके साथ रहना चाहिए।

0

डेथस्टेशन 9000 और इसके ZOG सी कंपाइलर अभी भी clrscr() का उपयोग करते हैं।

बोली http://dialspace.dial.pipex.com/town/green/gfd34/art/ से

यह दुर्भाग्यपूर्ण हो सकता है अगर किसी भी अधिक जीवन बस खो गए थे, क्योंकि कुछ प्रोग्रामर एक गहरी आध्यात्मिक जरूरत डिस्प्ले डिवाइस मिटा करने के लिए लग रहा है, और ज्यादा भी बहुत कुछ, ZOG सी का उपयोग कर शुरूआत लॉन्च (रिमोट सिस्टम कंसोल अनुरोध) फ़ंक्शन, clrscr()

-1

यूनिक्स जैसी प्रणालियों पर आप VT100 एस्केप कोड का उपयोग कर सकते हैं।

std::cout << "\033[2J" << std::flush; 

http://www.termsys.demon.co.uk/vtansi.htm