πώς να ελέγξετε εάν υπάρχει ένα αρχείο στο c ++


जवाब 1:

Ζήτησε τον καλύτερο τρόπο ελέγχου.

Η απάντηση είναι, σχεδόν ποτέ δεν θέλετε να μάθετε εάν το αρχείο υπάρχει αυτή τη στιγμή. Συνήθως θέλετε να μάθετε εάν το αρχείο είναι αναγνώσιμο ή εγγράψιμο όταν φτάσετε στο σημείο ανάγνωσης ή γραφής. Πολλές εφαρμογές υποθέτουν ότι αν μπορούν να δουν το αρχείο, θα είναι αναγνώσιμο ή εγγράψιμο.

Στο τέλος, ο μόνος τρόπος για να γνωρίζετε πραγματικά είναι να προσπαθήσετε να ανοίξετε το αρχείο για ανάγνωση ή γραφή και να δοκιμάσετε πραγματικά να διαβάσετε ή να γράψετε. Το έψαξα μια φορά και η Microsoft μετράει σαν 17 διαφορετικούς τρόπους με τους οποίους μια ανάγνωση ή εγγραφή μπορεί να αποτύχει.


जवाब 2:

Βρέθηκε στο

Υπερχείλιση στοίβας

Ένας άντρας χρησιμοποίησε πολλές διαφορετικές μεθόδους και διαπίστωσε ότι αυτός έδωσε την καλύτερη απόδοση:

inline bool υπάρχει_test3 (const std :: string & name) { buff stat stat;επιστροφή (stat (name.c_str (), & buffer) == 0); }

Θυμηθείτε να # συμπεριλάβετε ή δεν θα λειτουργήσει σωστά. Αυτό πήρε περίπου το 1/4 του χρόνου που χρειάζεται για να χρησιμοποιήσει τη συνηθισμένη προσπάθεια fstream για να ανοίξει και να ελέγξει αν είναι ανοιχτή διαδικασία που ανέφεραν άλλοι.


जवाब 3:

Αυτή η συνθήκη λειτουργεί αν το αρχείο δεν έχει εξαντληθεί.

ifstream πτερύγιοfin.open ("xyz.txt");αν (! fin){// το αρχείο δεν υπάρχει}