Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να Μετακίνηση δείκτη αρχείου σε C + +

Προγραμματιστές χρήση C και C + + οι γλώσσες χαμηλού επιπέδου . Σε αντίθεση με άλλες γλώσσες , όπως η Python ή Perl , C + + προσφορές πιο κοντά με την υποκείμενη αρχιτεκτονική του υπολογιστή . Ουσιαστικά , αυτό σημαίνει ότι τα καθήκοντα που είναι πιο κρυμμένα σε άλλες γλώσσες υπάρχουν σε C + + . Ένα από τα καθήκοντα αυτά αποδεικνύεται ότι είναι χειραγώγηση αρχείο . C + + έχει κάποια ενσωματωμένη λειτουργικότητα για διασχίσει ένα αρχείο χρησιμοποιώντας δείκτες αρχείων , αλλά απαιτούν μια ορισμένη γνώση των δεικτών και πώς λειτουργούν . Τα πράγματα που θα χρειαστείτε
επεξεργασίας κειμένου
C + + Compiler ( g+ + ) ή C + + IDE ( Microsoft Visual Studio )
Η Εμφάνιση Περισσότερες οδηγίες
Η

1 Ανοίξτε ένα αρχείο στο το + κωδικό + C . Δείτε αυτόν τον κώδικα σκελετός ως παράδειγμα :

# include

# include

χρησιμοποιώντας namespace std ?

Int main ( ) {

ifstream αρχείο?

File.open ( " filename.txt ")? ( ! file.is_open ( ) )

αν {

cout <<"Το αρχείο δεν ανοίγει " <

επιστροφή 0?

} }


Αυτό το βασικό κώδικα δημιουργεί ένα " ifstream " αντικείμενο " αρχείο ", η οποία χρησιμεύει ως ένα ρεύμα εισόδου για το αρχείο . Στη συνέχεια , τα "αν" οι έλεγχοι κατάσταση, εάν το αρχείο ανοίξει με επιτυχία . Αν δεν το κάνει , οποιαδήποτε εργασία στο αντικείμενο ifstream θα ρίξει ένα λάθος . 2

Πλοηγηθείτε στο αρχείο χρησιμοποιώντας τις εσωτερικές δείκτες αρχείο . Προγραμματιστές μετακινεί αυτούς τους δείκτες μέσω της " tellg ( )" και " seekg ()" λειτουργίες. Η λειτουργία tellg ( ) επιστρέφει τη θέση του δείκτη στο αρχείο ως ακέραιος :

int θέση = file.tellg ( ) ?

Η seekg ( ) συνάρτηση πραγματικότητα κινείται ο δείκτης , είτε βασίζεται σε μία απόλυτη θέση , ή βασίζονται σε μια άλλη θέση , συμπεριλαμβανομένης μιας offset :

file.seekg ( 5 ) ? //μετακινεί το δείκτη στην απόλυτη θέση

file.seekg ( 4 , ios : : επαιτούν ) ? //κινήσεις pointer τέσσερις θέσεις από την αρχή του αρχείου εικόνων
3

Διαβάστε το μέγεθος του αρχείου με τις υποδείξεις του αρχείου . Κάνοντας όλα τα παραδείγματα μαζί , οι λειτουργίες αρχείων στο αντικείμενο ifstream θα πάρει την θέση εκκίνησης , στη συνέχεια, μετακινήστε το δείκτη στο τέλος και να ανακτήσει τη θέση τελειώνει . Η διαφορά αυτών των θέσεων είναι το μέγεθος του αρχείου σε bytes

int start = file.tellg ()? .

File.seekg ( 0 , ios :: end ) ?

τέλος int = file.tellg ( ) ?

int size = ( end - start) ?
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα