eternalob Δημοσιεύτηκε Οκτώβριος 23, 2010 #1 Κοινοποίηση Δημοσιεύτηκε Οκτώβριος 23, 2010 Ξερει κανεις πως χρησιμοποιειται η συναρτηση clrscr;Tι κανει?πως?Ευχαριστω... Link to comment Share on other sites More sharing options...
ganastasiou Οκτώβριος 23, 2010 #2 Κοινοποίηση Οκτώβριος 23, 2010 Χρειάζεσαι την βιβλιοθήκη conio.hΠροσθέτεις στην αρχή του κώδικα το παρακάτω.#include <conio.h>και η χρήση της clrscr γίνεται απλά με το να καλέσεις την συνάρτηση.clrscr();Με αυτήν καθαρίζεις το τερματικό απο προηγούμενα Ι/Ο. Link to comment Share on other sites More sharing options...
kostasdriver Οκτώβριος 23, 2010 #3 Κοινοποίηση Οκτώβριος 23, 2010 Explaining :- clrscr (); and getch(); in C Link to comment Share on other sites More sharing options...
eternalob Οκτώβριος 23, 2010 Author #4 Κοινοποίηση Οκτώβριος 23, 2010 ευχαριστω φιλε αλλα κοιτα....#include<stdio.h>#include<conio.h>int main(){ clrscr(); system("pause"); return 1;}πεταει σφαλμα με τη συναρτηση νομιζω..[Linker Error] undefined reference to `clrscr'ld returned 1 exit status Link to comment Share on other sites More sharing options...
ganastasiou Οκτώβριος 23, 2010 #5 Κοινοποίηση Οκτώβριος 23, 2010 Ποιόν compiler χρησιμοποιείς; Link to comment Share on other sites More sharing options...
eternalob Οκτώβριος 23, 2010 Author #6 Κοινοποίηση Οκτώβριος 23, 2010 windows,wx-devc++.......Σε linux η conio δεν ισχυει....τι λες??? Link to comment Share on other sites More sharing options...
ganastasiou Οκτώβριος 23, 2010 #7 Κοινοποίηση Οκτώβριος 23, 2010 Σε Devc++ δεν υπάρχουν Borland προσθήκες όπως είναι πχ η conio.h,περιορίζεται μόνο σε ANSI C.Σε linux δεν χρειάζεσαι την clrscr()...Απλά βάζεις το παρακάτω system("clear");Ακριβώς η ίδια δουλειά. Link to comment Share on other sites More sharing options...
eternalob Οκτώβριος 23, 2010 Author #8 Κοινοποίηση Οκτώβριος 23, 2010 system("cls");Το εψαξα και εγω...Ευχαριστω!! Link to comment Share on other sites More sharing options...
backgman Οκτώβριος 26, 2010 #9 Κοινοποίηση Οκτώβριος 26, 2010 Καλησπέρα,όταν καλείς εντολές με τη system τότε ξεκινάει άλλο process και άρα είναι αρκετά χρονοβόρο.Για να είσαι πλήρως συμβατός με όλα τα terminal θα πρέπει να χρησιμοποιήσεις καποια βιβλιοθήκη σαν τηνcurses/ncurses στο linux (στα windows δε ξέρω αλλα υποθέτω οτι υπάρχει καποια αντίστοιχη).Απο την αλλη (λιγότερο γενικός τρόπος) μπορείς να χρησιμοποιήσεις τα escape sequences της printf.Ο καθαρισμός του terminal μπορεί να γινει με τις παρακάτω :printf("\033[2J"); /* Καθαρίζει τα προηγούμενα lines και πάει στο επόμενο line */printf("\033[1;1H"); /* Επιστρέφει στη πρώτη γραμμή, πρώτη κολώνα */ Link to comment Share on other sites More sharing options...
oxide Οκτώβριος 27, 2010 #10 Κοινοποίηση Οκτώβριος 27, 2010 backgman αυτο με την printf ειναι os dependent? Link to comment Share on other sites More sharing options...
backgman Οκτώβριος 28, 2010 #11 Κοινοποίηση Οκτώβριος 28, 2010 backgman αυτο με την printf ειναι os dependent?Ο συγκεκριμένος τρόπος δεν είναι γενικός και εξαρτάται απο το terminal που έχεις. Για να δουλέψει χρειάζεται το terminal να υποστοιρίζει ANSI escape sequences.Για να είσαι πιο γενικός θα πρέπει να χρησιμοποιήσεις βιβλιοθήκες (curses στο linux). Link to comment Share on other sites More sharing options...
oxide Οκτώβριος 29, 2010 #12 Κοινοποίηση Οκτώβριος 29, 2010 παντως ωραια μεθοδος...δεν ετυχε να την συναντησω μεχρι τωρα Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.