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