2012-01-09 4 views
43

Possible Duplicate:
How to implement getch() function of C in Linux?मुझे लिनक्स पर <conio.h> क्यों नहीं मिल रहा है?

मैं conio.h हैडर फ़ाइल की एक Linux संस्करण के लिए खोज कर दिया गया है, लेकिन कोई पाया है ...

मैं gcc उपयोग कर रहा हूँ और पाठ संपादक Geany मेरी C संकलित करने के लिए कोड।

क्या इसके कार्यों को बदलने का कोई तरीका है? उदाहरण के लिए, getch()

आप

+11

आप इसे नहीं मिल सकता है, क्योंकि यह एक डॉस हैडर है! –

उत्तर

64

conio.h टेक्स्ट उपयोगकर्ता इंटरफेस बनाने के लिए पुरानी एमएस-डॉस कंपाइलर्स में उपयोग की गई C हेडर फ़ाइल है। लिनक्स, विन 32 और ओएस/2 जैसे गैर-डॉस ऑपरेटिंग सिस्टम को लक्षित करने वाले कंपाइलर्स ने इन कार्यों के विभिन्न कार्यान्वयन प्रदान किए।

#include <curses.h> आप लगभग सभी कार्यक्षमताओं कि conio.h

nucurses में प्रदान की गई थी

देब आधारित distros में उपयोग करने

sudo apt-get install libncurses5-dev libncursesw5-dev

और प्रथम स्थान पर स्थापित किया जा करने की जरूरत है दे देंगे आरपीएम आधारित डिस्ट्रोज़ में

sudo yum install ncurses-devel ncurses

कार्यों का getch() वर्ग के लिए, आप की कोशिश कर सकते this

+7

मुझे त्रुटि मिल रही है 'घातक त्रुटि: curses.h: ऐसी कोई फ़ाइल या निर्देशिका' मुझे क्या करना चाहिए? – sumitkanoje

+2

@ kanojesumit इसका मतलब है कि एक शाप पुस्तकालय स्थापित नहीं है। यह एक मानक पुस्तकालय नहीं है। आपको इसे ऑनलाइन ढूंढना होगा (उदाहरण के लिए एनकर्स एक मुफ्त जीपीएल कार्यान्वयन है)। – oligofren

+0

'curses' या' ncurses' का उपयोग करने वाले प्रोग्राम सामान्य रूप से संपूर्ण (टेक्स्ट) स्क्रीन लेते हैं, जो आप चाहते हैं या नहीं भी हो सकता है। –

4

जो इसी तरह की सुविधा ncurses होगा है एक लोकप्रिय लिनक्स पुस्तकालय धन्यवाद।

19

मूल conio.h बोर्लैंड द्वारा कार्यान्वित किया गया था, इसलिए यह सी मानक लाइब्रेरी का हिस्सा नहीं है और न ही पॉज़िक्स द्वारा परिभाषित किया गया है।

But here is an implementation for Linux जो नौकरी करने के लिए ncurses का उपयोग करता है।

2

ऐसा इसलिए है क्योंकि यह अस्तित्व में नहीं है, क्योंकि यह विंडोज़ से जुड़ा हुआ है।

उपयोग मानक ऐसे getc

रूप <stdio.h> बजाय से कार्यों की गई The सुझाव ncurses यदि आप कंसोल आधारित GUIs लिखना चाहते पुस्तकालय अच्छा है, लेकिन मुझे नहीं लगता कि यह है तुम क्या चाहते हो।

संबंधित मुद्दे