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