Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come spostare un puntatore a file in C + +

sviluppatori di utilizzare C e C + + come linguaggi di basso livello . A differenza di altri linguaggi , come Python o Perl , offerte C + + più stretti con l' architettura di base di un computer . Essenzialmente, questo significa che i compiti che sono più nascoste in altre lingue siano presenti in C + + . Una di queste attività risulta essere manipolazione di file . C + + ha alcune funzionalità built-in per attraversare un file utilizzando puntatori a file , ma richiedono una certa conoscenza di puntatori e come funzionano. Cose che ti serviranno
Text Editor
C + + Compiler ( g+ +) o un IDE C + + ( Microsoft Visual Studio ) economici Mostra più istruzioni
1

Aprire un file in il codice C + + . Vedere questo codice scheletro come un esempio:

# include

# include

using namespace std;

int main ( ) {
file di

ifstream ;

File.Open ( " filename.txt " ) ;

se {

cout << "File Not Open" << endl;

return 0; }


}

Questo codice di base crea un " ifstream " oggetto " file" che serve come un flusso di input per il file . Poi , l '" if" controlla se il file aperto con successo . Se così non fosse , qualsiasi operazione sull'oggetto ifstream viene generato un errore .
2

navigare nel file utilizzando i puntatori a file interni . I programmatori si muove questi puntatori attraverso le funzioni " seekg ( ) " " tellg ( )" e . Il tellg () restituisce la posizione del puntatore nel file come un intero :

int posizione = file.tellg ();

seekg ( ) funzione in realtà sposta il puntatore , sia sulla base di una posizione assoluta , o in base a un altro luogo , tra cui un offset :

file.seekg ( 5) ; //puntatore si muove alla posizione assoluta

file.seekg ( 4 , ios : : beg ) ; //puntatore si muove quattro posti dall'inizio del file di
3

Leggi la dimensione del file utilizzando i puntatori a file . Mettere insieme tutti gli esempi , le funzioni di file nell'oggetto ifstream avranno la posizione di partenza , quindi spostare il puntatore fino alla fine e recuperare la posizione finale . La differenza di queste posizioni è la dimensione del file in byte

int start = file.tellg ( ) .

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

int fine = file.tellg ();

int size = (fine - inizio ) ;

 

Programmazione © www.354353.com