मैं सी में प्रोग्राम करना सीख रहा हूं और टर्मिनल में अक्षरों को टाइप करने में सक्षम होना चाहता हूं, जबकि मेरा कोड पर बिना दबाए चल रहा है। मेरा प्रोग्राम काम करता है, हालांकि जब मैं initscr()
पर कॉल करता हूं, तो स्क्रीन साफ़ हो जाती है - filter()
पर कॉल करने के बाद भी। filter
के लिए प्रलेखन से पता चलता है कि इसे समाशोधन अक्षम करना चाहिए - हालांकि यह मेरे लिए मामला नहीं है।स्क्रीन को साफ़ किए बिना मैं शाप से गेट का उपयोग कैसे करूं?
#include <stdio.h>
#include <curses.h>
#include <term.h>
int main(void) {
int ch;
filter();
initscr();
cbreak();
noecho();
keypad(stdscr, TRUE);
while((ch = getch()) != EOF);
endwin();
return 0;
}
उपरोक्त कोड अभी भी स्क्रीन को साफ़ क्यों करता है, और इसे ठीक करने के लिए क्या किया जा सकता है?
मैं डेबियन लेनी (स्थिर) और gnome टर्मिनल का उपयोग कर रहा हूं अगर यह मदद करता है।
PDCurses आप वातावरण चर PDC_PRESERVE_SCREEN या PDC_RESTORE_SCREEN किसी मान पर सेट कर सकते हैं के लिए: फ़ाइल का इतिहास से: – Brandin
PDC_PRESERVE_SCREEN इस वातावरण चर हैं सेट है, पीडीसीआरएस स्क्रीन पर स्क्रीन पर स्टार्टअप पर काले रंग के डिफ़ॉल्ट सफेद को साफ़ नहीं करेगा। यह आपको मौजूदा स्क्रीन पृष्ठभूमि के शीर्ष पर एक विंडो ओवरले करने की अनुमति देता है। PDC_RESTORE_SCREEN यदि यह पर्यावरण चर सेट किया गया है, तो PDCurses PDCurses प्रारंभ होने पर स्क्रीन की सामग्री की एक प्रति ले जाएगा; initscr(), और जब एंडविन() कहा जाता है, तो स्क्रीन को पुनर्स्थापित किया जाएगा। – Brandin