Nwlapcug.com


Come spostare il puntatore del File in C++

Come spostare il puntatore del File in C++


Gli sviluppatori utilizzano C e C++ come linguaggi di basso livello. Al contrario di altri linguaggi, come Python o Perl, C++ si occupa più vicino l'architettura sottostante di un computer. Essenzialmente, questo significa che le attività che sono più nascosti in altre lingue sono presenti in C++. Una di queste attività risulta per essere la gestione dei file. C++ ha alcune funzionalità incorporate per l'attraversamento di un file utilizzando i puntatori di file, ma richiedono una certa conoscenza di puntatori e come funzionano.

Istruzioni

1

Aprire un file nel codice C++. Vedi questo scheletro codice come esempio:

sono < iostream > includono < fstream >

utilizzando lo spazio dei nomi std;

int Main () {

ifstream file;

file.Open("filename.txt");

if(!file.is_open()) () {

cout << "File non aperto" << endl;

return 0;

}

}

Questo codice di base crea un oggetto di "ifstream" "file", che serve come un flusso di input per il file. L'istruzione "if", quindi viene verificato se il file aperto con successo. Se così non fosse, qualsiasi operazione sull'oggetto ifstream genererà un errore.

2

Navigare attraverso i file utilizzando i puntatori di file interno. I programmatori si muove questi puntatori attraverso le funzioni "tellg()" e "seekg()". La funzione tellg() restituisce la posizione del puntatore nel file come valore integer:

posizione di int = file.tellg();

La funzione di seekg() in realtà si sposta il puntatore del mouse, oppure basato su un percorso assoluto basato su un'altra posizione, tra cui un offset:

file.seekg(5); Sposta il puntatore in posizione assoluta

file.seekg (4, ios::beg); Sposta il puntatore quattro posti dall'inizio del file

3

Leggere le dimensioni del file utilizzando i puntatori di file. Mettendo insieme tutti gli esempi, le funzioni di file nell'oggetto ifstream otterrà la posizione iniziale, quindi spostare il puntatore alla fine e recuperare la posizione finale. La differenza di queste posizioni è la dimensione del file in byte.

start As Integer = file.tellg();

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

fine di int = file.tellg();

int size = (fine - inizio);