Προς το περιεχόμενο

system("CLS") σε C


Crawl_From_Death

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα παιδια,

 

εχω ενα μικρο θεματακι. Ενω οταν κανω compile (devc++ compiler) η εντολη system ("CLS") παιζει σωστα και καθαριζει την οθονη, εντουτοις οταν τρεχω το .exe δεν καθαριζει. Μηπως μπορειτε να με διαφωτισετε στο τι παιζει..?

 

σας ευχαριστω :-)

Επισκέπτης
Δημοσ.

Μπορεί να ακουστεί χαζό αλλά μήπως έσωσες τον κώδικα αλλά ξέχασες να κάνεις compile;

Δημοσ.

Κάπου αλλού είναι το πρόβλημα, σε εμένα ο παρακάτω κώδικας δουλεύει κανονικά στο Dev-C++ 4.9.9.2 (στο συνημμένο ZIP υπάρχει το Dev-C++ project file μαζί με τον πηγαίο κώδικα και το εκτελέσιμο που παρήχθη):

 

>
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
   int i;
   char *msgPrefix = "This is Message ";

   for(i = 1; i < 10; i++) {
       printf(msgPrefix);
       printf("%d.\n", i);
   }

   printf("\nPress any key to clear the messages\n");
   system("PAUSE > NUL");
   system("CLS");
   printf("The messages were cleared. Press any key to exit.\n");
   system("PAUSE > NUL");

   return 0;
}

 

 

.

clstest.zip

Δημοσ.

Η πρώτη εκδοχή τυπώνει το στάνταρ μήνυμα της pause ("Press any key to continue..." ή κάποια μετάφρασή του υποθέτω, αν δεν είμαστε σε αγγλικά Windows).

 

Η δεύτερη ανακατευθύνει το output της pause από το stdout στην ειδική συσκευή nul των Windows (αντίστοιχο με το /dev/null των Unix-οειδών, δηλαδή μια «μαύρη τρύπα») ώστε να τυπώσεις ένα δικό σου prompt αμέσως πιο πριν.

 

 

Τίποτα από αυτά δεν είναι portable, εννοείται... Βαριά-βαριά να παίζουν σε OS/2 :lol:

Δημοσ.

Τίποτα από αυτά δεν είναι portable, εννοείται... Βαριά-βαριά να παίζουν σε OS/2 :lol:

 

 

Αν το κανεις σαν τα css3 θα εισαι μια χανα imo. (system("cls"); system("clear");system("clear για αλλο ΛΣ"); happy.gif

 

 

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...