C++ clear screen clear()
ARISTEIDIS MINAS
aristeidism at usa.net
Thu Sep 9 11:18:52 EEST 1999
Το πακέτο curses.h δίνει μια πολύ καλή διαχείριση οθόνης
ανεξαρτήτως τερματικού.
Το παρακάτω παράδειγμα πρέπει να λειτουργήσει και σε C++
#include <stdio.h>
#include <curses.h> /* βιβλιοθήκη curses.h */
int ch;
int flag;
int i;
main()
{
initscr(); /* 1 αρχικοποίηση οθόνης */
crmode(); /* 2 και πληκτρολογίου */
keypad(stdscr,TRUE); /* 3 και πληκτρολογίου */
clear(); /* cls καθαρίζει την οθόνη */
refresh(); /* μετά από κάθε τροποποίηση των περιεχομένων της οθόνης
πχ clear() ή printf χρειάζεται refresh() για ενημέρωση των περιεχομένων */
for(i=100;i<256;i++)
{printw("%d - %c ",i,i);flag++;
if(flag==9) {printw("\n");flag=0;}
}
refresh();
getch();
clear();
refresh();
keypad(stdscr,FALSE); /* 4 τερματισμος πληκτρολογίου */
endwin(); /* 5 τερματισμός οθόνης */
return 0;
}
Οι γραμμές 1,2,3 είναι απαραίτητες για την αρχικοποίηση της
οθόνης και του πληκτρολογίου και καλό είναι να μπαίνουν στην
αρχή μετά το main() όπως και οι 4,5 στο τέλος.
Η εντολή clear() καθαρίζει την οθόνη.
Επίσης το curses.h χρησιμοποιεί την εντολή printw αντι για την printf.
Η σύνταξη της είναι ίδια με της printf. Μπορούμε βέβαια να
χρησιμοποιήσουμε και την printf.
Μετά από κάθε τροποποίηση της οθόνης πχ clear(), printf χρειάζεται και
η εκτέλεση ενός refresh() για ενημέρωση της οθόνης.
Τέλος για το compilation χρειάζεται στο link του εκτελεσιμο -lncurses
px gcc hello.c -o hello -lncurses
Ελπίζω να βοήθησα
Μηνάς Αριστείδης
aristeidism at usa.net
____________________________________________________________________
Get free email and a permanent address at http://www.netaddress.com/?N=1
--
====================================================================
Gia boithia (h na diagrafhte) e-mail sto majordomo at hellug.gr
Ta archives tis listas einai sto http://lists.hellug.gr/archives
prin steilete kapoia erothsh psakte mipos exei hdh apanththei.
Gia opoiodipote problima stilte e-mail ston owner-linux-greek-users at hellug.gr
====================================================================
More information about the Linux-greek-users
mailing list