jamie155 Δημοσ. 28 Μαΐου 2007 Δημοσ. 28 Μαΐου 2007 ξέρει κάποιος πως θα διαγράψω ένα αρχείο απο το δίσκο μου έχοντας το path του με εντολή C++???
jamie155 Δημοσ. 20 Σεπτεμβρίου 2007 Μέλος Δημοσ. 20 Σεπτεμβρίου 2007 Κάνοντας χρήση της int remove(const char *path); ορισμένες φορές μου σβήνει τα αρχεία και άλλες όχι. Ή μάλλον για να το θέσω καλύτερα κάποια αρχεία καταφέρνει να τα σβήσει και κάποια άλλα δεν τα σβήνει ποτε. Γνωρίζει κανείς μήπως γιατί παίζει να συμβαίνει αυτό? ένα αρχειο π.χ. που δεν το σβήνει το έχω δημιουργήσει έτσι file_op2.open("boxes.txt",std::ios::out);
bookysmell2004 Δημοσ. 20 Σεπτεμβρίου 2007 Δημοσ. 20 Σεπτεμβρίου 2007 >ofstream file_op2; file_op2.open("boxes.txt",std::ios::out); file_op2.close(); remove("boxes.txt"); Πρέπει να κλείνεις τα αρχεία πρωτού να διαγράψεις. Αυτό το πετυχαίνεις με τη μέθοδο close().
jamie155 Δημοσ. 20 Σεπτεμβρίου 2007 Μέλος Δημοσ. 20 Σεπτεμβρίου 2007 std::ofstream file_op2; file_op2.open("boxes.txt",std::ios::out); file_op2<<s ; file_op2.close(); Το κλεινω
bookysmell2004 Δημοσ. 20 Σεπτεμβρίου 2007 Δημοσ. 20 Σεπτεμβρίου 2007 Jamie, επειδή το δοκίμασα κι εγώ και το αρχείο σβήνει πρέπει να αναφέρεις κι άλλες λεπτομέρειες του προβλήματός σου αν το πρόβλημα εξακολουθεί να υπάρχει. Οι 4 γραμμές που πόσταρα λειτουργούν κανονικά και σβήνουν το αρχείο. Δεν φταίει σε καμία περίπτωση η remove.
Directx Δημοσ. 20 Σεπτεμβρίου 2007 Δημοσ. 20 Σεπτεμβρίου 2007 Αφού κλείνεις σωστά το αρχείο (close), θα πρέπει να διαγράφεται εκτός και αν για παράδειγμα έχεις θέσεις ειδικά attributes σε αυτό, πχ. read-only οπότε θα πρέπει φυσικά να τα αφαιρέσεις προτού κάνεις την διαγραφή. Συνεπώς τσέκαρε τα attributes των αρχείων που δεν διαγράφονται, ενώ επίσης δες αν κάποια από αυτά χρησιμοποιούνται εκείνη την στιγμή από άλλες εφαρμογές.. Τέλος, επιβεβαίωσε ότι το path που ορίζεις είναι σωστός. Υ.Γ. Εκτός από την remove ορισμένοι Compiler υποστηρίζουν και την POSIX, unlink.
jamie155 Δημοσ. 20 Σεπτεμβρίου 2007 Μέλος Δημοσ. 20 Σεπτεμβρίου 2007 Ευχαριστώ πολύ. Τελικά ήταν όντως κάπου αλλού ανοιχτό.και αυτό φάνηκε όταν πήγα να το σβήσω με system("del .... ")και ειδα στην γραμμη εντολων να λεει πως χρησιμοποιείται από κάποια άλλη διεργασια..
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.